需要安装EPPlus NuGet程序包才能使用ExcelPackage类
using System.Data;
using System.IO;
using System.Reflection;
using OfficeOpenXml;
public void ExportToExcel(DataTable dataTable, string filePath, string sheetName)
{
// 如果DataTable为空,则不导出任何数据
if (dataTable == null || dataTable.Rows.Count == 0)
return;
// 创建Excel工作簿
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
using (ExcelPackage excelPackage = new ExcelPackage())
{
// 创建工作表
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add(sheetName);
// 将数据添加到工作表中
worksheet.Cells["A1"].LoadFromDataTable(dataTable, true);
// 将单元格格式设置为文本,以避免将数字格式化为日期或时间
for (int i = 1; i <= dataTable.Columns.Count; i++)
{
worksheet.Column(i).Style.Numberformat.Format = "@";
}
// 保存Excel文件
FileInfo fileInfo = new FileInfo(filePath);
excelPackage.SaveAs(fileInfo);
}
}
//===================================
//调用ExportToExcel
DataTable dataTable = new DataTable();
// 将数据添加到dataTable中
string filePath = "C:\\MyExcelFile.xlsx";
string sheetName = "MySheet";
ExportToExcel(dataTable, filePath, sheetName);