C#使用NPOI将DataTable数据导入到excel中
时间: 2023-09-27 22:06:28 浏览: 127
C#将DataTable导入到Excel
4星 · 用户满意度95%
可以使用以下代码将 C# 中的 DataTable 数据导入到 Excel 中:
```csharp
using System.IO;
using System.Data;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
// DataTable 对象
DataTable dataTable = new DataTable();
// Excel 文件路径
string filePath = "D:\\data.xlsx";
// 创建 Excel 工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建 Excel 工作表
ISheet sheet = workbook.CreateSheet("Sheet1");
// 创建表头行
IRow headerRow = sheet.CreateRow(0);
// 设置表头
for (int i = 0; i < dataTable.Columns.Count; i++)
{
headerRow.CreateCell(i).SetCellValue(dataTable.Columns[i].ColumnName.ToString());
}
// 填充数据行
for (int i = 0; i < dataTable.Rows.Count; i++)
{
IRow dataRow = sheet.CreateRow(i + 1);
for (int j = 0; j < dataTable.Columns.Count; j++)
{
dataRow.CreateCell(j).SetCellValue(dataTable.Rows[i][j].ToString());
}
}
// 保存 Excel 文件
using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
workbook.Write(fs);
}
```
其中,`dataTable` 是需要导出的 DataTable 对象,`filePath` 是导出的 Excel 文件路径。此外,需要使用 NPOI 库,可以通过 NuGet 包管理器安装。在代码中,首先创建了一个空的 Excel 工作簿和工作表,然后创建表头行,设置表头信息。接着,使用循环填充数据行,最后通过 FileStream 将 Excel 文件保存到指定路径。注意,此处使用的是 XSSFWorkbook,可以导出 xlsx 格式的 Excel 文件。如果需要导出 xls 格式的文件,需要使用 HSSFWorkbook。
阅读全文