BootstrapBlazor.Table.ImportExportsService 7.2.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package BootstrapBlazor.Table.ImportExportsService --version 7.2.0                
NuGet\Install-Package BootstrapBlazor.Table.ImportExportsService -Version 7.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BootstrapBlazor.Table.ImportExportsService" Version="7.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BootstrapBlazor.Table.ImportExportsService --version 7.2.0                
#r "nuget: BootstrapBlazor.Table.ImportExportsService, 7.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BootstrapBlazor.Table.ImportExportsService as a Cake Addin
#addin nuget:?package=BootstrapBlazor.Table.ImportExportsService&version=7.2.0

// Install BootstrapBlazor.Table.ImportExportsService as a Cake Tool
#tool nuget:?package=BootstrapBlazor.Table.ImportExportsService&version=7.2.0                

BootstrapBlazor Table 数据导入导出服务扩展包

Table 导出UI

    <ExportButtonDropdownTemplate>
        <h6 class="dropdown-header">当前页数据</h6>
        <div class="dropdown-item" @onclick="_=>ExportExcelAsync(mainTable.Rows)">
            <i class="fas fa-file-excel"></i>
            <span>Excel</span>
        </div>
        <div class="dropdown-item" @onclick="_=>ExportWordAsync(mainTable.Rows)">
            <i class="fas fa-file-word"></i>
            <span>Word</span>
        </div>
        <div class="dropdown-item" @onclick="_=>ExportHtmlAsync(mainTable.Rows)">
            <i class="fa-brands fa-html5"></i>
            <span>Html</span>
        </div>
        <div class="dropdown-item" @onclick="_=>ExportPDFAsync(mainTable.Rows)">
            <i class="fas fa-file-pdf"></i>
            <span>PDF</span>
        </div>
        <div class="dropdown-divider"></div>
        <h6 class="dropdown-header">全部数据</h6>
        <div class="dropdown-item" @onclick="_=>ExportExcelAsync(GetAllItems())">
            <i class="fas fa-file-excel"></i>
            <span>Excel</span>
        </div>
        <div class="dropdown-item" @onclick="_=>ExportWordAsync(GetAllItems())">
            <i class="fas fa-file-word"></i>
            <span>Word</span>
        </div>
        <div class="dropdown-item" @onclick="_=>ExportHtmlAsync(GetAllItems())">
            <i class="fa-brands fa-html5"></i>
            <span>Html</span>
        </div>
        <div class="dropdown-item" @onclick="_=>ExportPDFAsync(GetAllItems())">
            <i class="fas fa-file-pdf"></i>
            <span>PDF</span>
        </div>
    </ExportButtonDropdownTemplate>

C# 代码

        [Inject]
        [NotNull]
        ImportExportsService? ImportExportsService { get; set; }

        private async Task<bool> ExportExcelAsync(IEnumerable<TItem> items) => await ExportAutoAsync(items, ExportType.Excel);
        private async Task<bool> ExportPDFAsync(IEnumerable<TItem> items) => await ExportAutoAsync(items, ExportType.Pdf);
        private async Task<bool> ExportWordAsync(IEnumerable<TItem> items) => await ExportAutoAsync(items, ExportType.Word);
        private async Task<bool> ExportHtmlAsync(IEnumerable<TItem> items) => await ExportAutoAsync(items, ExportType.Html);

        private async Task<bool> ExportAutoAsync(IEnumerable<TItem> items, ExportType exportType = ExportType.Excel)
        {
            if (items == null || !items.Any())
            {
                await ToastService.Error("提示", "无数据可导出");
                return false;
            }
            var option = new ToastOption()
            {
                Category = ToastCategory.Information,
                Title = "提示",
                Content = $"导出正在执行,请稍等片刻...",
                IsAutoHide = false
            };
            // 弹出 Toast
            await ToastService.Show(option);
            await Task.Delay(100);


            // 开启后台进程进行数据处理
            await Export(items?.ToList(), exportType);

            // 关闭 option 相关联的弹窗
            option.Close();

            // 弹窗告知下载完毕
            await ToastService.Show(new ToastOption()
            {
                Category = ToastCategory.Success,
                Title = "提示",
                Content = $"导出成功,请检查数据",
                IsAutoHide = false
            });
            return true;

        }

完整示例看源码工程

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on BootstrapBlazor.Table.ImportExportsService:

Package Downloads
BootstrapBlazor.Table.Freesql

BootstrapBlazor 的 Table 扩展

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.10.5 100 10/16/2024
8.10.4 80 10/16/2024
8.7.5 124 7/30/2024
8.7.0 163 7/7/2024
8.3.4 183 3/9/2024
8.3.0 150 2/25/2024
8.2.0 146 2/9/2024
8.1.10 140 1/18/2024
8.0.1 150 1/4/2024
8.0.0 205 11/15/2023
7.8.0 269 7/15/2023
7.7.9 224 6/12/2023
7.7.7 220 6/6/2023
7.7.0 274 6/2/2023
7.2.3 1,274 3/20/2023
7.2.2 281 3/20/2023
7.2.1 346 2/24/2023
7.2.0 994 2/23/2023
7.1.2 285 2/22/2023 7.1.2 is deprecated because it is no longer maintained.
7.1.1 380 1/30/2023 7.1.1 is deprecated because it is no longer maintained.