.net 导出excel_C# 导出 Excel 的 6 种简单方法!你会几种?

bc962d53-7e1c-eb11-8da9-e4434bdf6706.gif

【CSDN 编者按】C# 导出 Excel 的6种简单方法:数据表导出到 Excel,对象集合导出到 Excel,数据库导出到 Excel,微软网格控件导出到 Excel,数组导出到 Excel,CSV 导出到 Excel,你都会了吗?

c1962d53-7e1c-eb11-8da9-e4434bdf6706.jpeg 作者 | Johnson Manohar 译者 | 谭开朗,责编 | 黄浩然 出品 | CSDN(ID:CSDNnews)

 以下为译文:

Syncfusion Excel (XlsIO) 库是一个 .Net Excel 库,它支持用户用 C# 和 VB.NET 以一个非常简易的方式,将各种数据源(如数据表,数组,对象集合,数据库,CSV / TSV,和微软网格控件等)数据导出到 Excel 。

将数据导出到 Excel 可以以更容易理解的方式可视化数据。该特性有助于生成财务报告、银行报表和发票,同时还支持筛选大数据、验证数据、格式化数据等。

将数据导出到 Excel, Essential XlsIO 提供了以下方法:

  • 数据表导出到 Excel

  • 对象集合导出到 Excel

  • 数据库导出到 Excel

  • 微软网格控件导出到 Excel

  • 数组导出到 Excel

  • CSV 导出到 Excel

在本文中,我们将研究这些方法以及如何执行它们。

c8962d53-7e1c-eb11-8da9-e4434bdf6706.png

数据表导出到 Excel

ADO.NET 对象的数据(如 datatable 、datacolumn 和 dataview )可以导出到Excel 工作表。通过识别列类型或单元格值类型、超链接和大型数据集,可以在几秒钟内将其导出并作为列标头。

将数据表导出到 Excel 工作表可以通过 ImportDataTable 方法实现。下面的代码示例演示了如何将员工详细信息的数据表导出到 Excel 工作表。

using (ExcelEngine excelEngine = new ExcelEngine()){     IApplication application = excelEngine.Excel;    application.DefaultVersion = ExcelVersion.Excel2016;    //Create a new workbook    IWorkbook workbook = application.Workbooks.Create(1);    IWorksheet sheet = workbook.Worksheets[0];    //Create a dataset from XML file    DataSet customersDataSet = new DataSet();    customersDataSet.ReadXml(Path.GetFullPath(@"../../Data/Employees.xml"));    //Create datatable from the dataset    DataTable dataTable = new DataTable();    dataTable = customersDataSet.Tables[0];    //Import data from the data table with column header, at first row and first column,     //and by its column type.    sheet.ImportDataTable(dataTable, true, 1, 1, true);    //Creating Excel table or list object and apply style to the table    IListObject table = sheet.ListObjects.Create("Employee_PersonalDetails", sheet.UsedRange);    table.BuiltInTableStyle = TableBuiltInStyles.TableStyleMedium14;    //Autofit the columns    sheet.UsedRange.AutofitColumns();    //Save the file in the given path    Stream excelStream = File.Create(Path.GetFullPath(@"Output.xlsx"));    workbook.SaveAs(excelStream);    excelStream.Dispose();}

d0962d53-7e1c-eb11-8da9-e4434bdf6706.png

将数据表输出到Excel

在将大数据导出到 Excel 时,如果不需要应用数字格式和样式,可以将其中importOnSave 参数的值设为 TRUE,使用 ImportDataTable 方法重载。此时,导出数据与保存 Excel 文件是同时进行的。

使用此方法导出高性能的大数据。

value = instance.ImportDataTable(dataTable, firstRow, firstColumn, importOnSave);

如果你有指定范围,并且希望将数据从指定范围的特定行和列导出到指定范围,那么可以使用下面的 API,其中 rowOffset 和 columnOffset 是要从指定范围中的特定单元导入的参数。

value = instance.ImportDataTable(dataTable, namedRange, showColumnName, rowOffset, colOffset);</

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这个问题我可以回答。在.NET Core(C#)中使用EPPlus.Core导出Excel文档,可以按照以下步骤进行: 1. 首先需要安装EPPlus.Core库,可以通过NuGet包管理器或者手动下载安装。 2. 在代码中引入EPPlus.Core库的命名空间,如下所示: ``` using OfficeOpenXml; using OfficeOpenXml.Style; ``` 3. 创建Excel文档,并设置头和数据。可以参考以下示例代码: ``` var file = new FileInfo("example.xlsx"); using (var package = new ExcelPackage(file)) { var worksheet = package.Workbook.Worksheets.Add("Sheet1"); // 设置头 worksheet.Cells[1, 1].Value = "列1"; worksheet.Cells[1, 2].Value = "列2"; worksheet.Cells[1, 3].Value = "列3"; // 设置数据 for (int i = 2; i <= 100; i++) { worksheet.Cells[i, 1].Value = i - 1; worksheet.Cells[i, 2].Value = "数据" + (i - 1); worksheet.Cells[i, 3].Value = DateTime.Now.AddDays(i - 1); } // 设置单元格样式 worksheet.Cells[1, 1, 1, 3].Style.Font.Bold = true; worksheet.Cells[1, 1, 1, 3].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheet.Cells[1, 1, 1, 3].Style.Fill.BackgroundColor.SetColor(Color.LightGray); // 保存Excel文档 package.Save(); } ``` 4. 如果需要在导出Excel文档的过程中显示进度条,可以使用异步方法和进度报告器。参考以下示例代码: ``` var file = new FileInfo("example.xlsx"); using (var package = new ExcelPackage(file)) { var worksheet = package.Workbook.Worksheets.Add("Sheet1"); // 设置头 worksheet.Cells[1, 1].Value = "列1"; worksheet.Cells[1, 2].Value = "列2"; worksheet.Cells[1, 3].Value = "列3"; // 设置数据 for (int i = 2; i <= 100; i++) { worksheet.Cells[i, 1].Value = i - 1; worksheet.Cells[i, 2].Value = "数据" + (i - 1); worksheet.Cells[i, 3].Value = DateTime.Now.AddDays(i - 1); // 报告进度 var progress = (double)(i - 1) / 99; progressReporter.Report(progress); } // 设置单元格样式 worksheet.Cells[1, 1, 1, 3].Style.Font.Bold = true; worksheet.Cells[1, 1, 1, 3].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheet.Cells[1, 1, 1, 3].Style.Fill.BackgroundColor.SetColor(Color.LightGray); // 保存Excel文档 await package.SaveAsync(); } ``` 以上就是在.NET Core(C#)中使用EPPlus.Core导出Excel文档,并显示进度条的方法。希望能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值