c# 使用NPOI将datatable的数据导出到excel
以下是使用 NPOI 库 将 DataTable 数据导出到 Excel 的详细步骤和代码示例(支持 .xls
和 .xlsx
格式):
步骤 1:安装 NPOI NuGet 包
Install-Package NPOI Install-Package NPOI.OOXML # 若需导出 .xlsx 格式
步骤 2:完整代码实现
using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; // 支持 .xlsx 格式 using NPOI.HSSF.UserModel; // 支持 .xls 格式 using System.Data; using System.IO; public class ExcelExporterNpoi { /// <summary> /// 将 DataTable 导出到 Excel 文件 /// </summary> /// <param name="dataTable">数据源</param> /// <param name="filePath">文件路径(如:C:\data.xlsx)</param> /// <param name="sheetName">工作表名称(默认 Sheet1)</param> public static void ExportToExcel(DataTable dataTable, string filePath, string sheetName = "Sheet1") { if (dataTable == null || dataTable.Rows.Count == 0) throw new ArgumentException("DataTable 不能为空"); // 根据文件扩展名选择 Workbook 类型 IWorkbook workbook; if (filePath.EndsWith(".xlsx")) workbook = new XSSFWorkbook(); else if (filePath.EndsWith(".xls")) workbook = new HSSFWorkbook(); else throw new ArgumentException("不支持的文件格式,仅支持 .xls 或 .xlsx"); // 创建 Sheet 和表头样式