C#,使用NPOI库,写一个方法将datatable转化成excel文件
时间: 2024-10-16 07:06:41 浏览: 67
在C#中,我们可以利用NPOI库(NUnit Pro OLE Interop)来操作Excel文件,包括读取和写入数据。以下是一个简单的示例,展示如何使用NPOI将DataTable转换为Excel文件:
```csharp
using System;
using System.Data;
using NUnitPro.Ole.Interop;
using NPOI.HSSF.UserModel;
public void DataTableToExcel(DataTable dataTable, string filePath)
{
// 创建一个新的HSSFWorkbook(HSSF工作簿)
HSSFWorkbook workbook = new HSSFWorkbook();
// 获取第一个sheet(表单)
ISheet sheet = workbook.CreateSheet("Sheet1");
// 获取行数和列数
int rowCount = dataTable.Rows.Count;
int colCount = dataTable.Columns.Count;
// 遍历DataTable并将数据写入Excel
for (int i = 0; i < rowCount; i++)
{
DataRow row = dataTable.Rows[i];
for (int j = 0; j < colCount; j++)
{
Cell cell = sheet.CreateCell(i, j);
cell.SetCellValue(row[j].ToString());
}
}
// 写入文件
using (FileStream fileStream = File.Create(filePath))
{
workbook.Write(fileStream);
}
// 关闭文件和工作簿
workbook.Close();
}
// 调用方法
void Main()
{
DataTable dataTable = GetYourDataTable(); // 你需要替换为你实际的数据集
string excelFilePath = "output.xlsx";
DataTableToExcel(dataTable, excelFilePath);
}
```
在这个例子中,我们首先创建一个`HSSFWorkbook`对象,然后创建一个sheet并设置其名称。接着遍历DataTable的每一行和每一列,将数据写入对应的单元格。最后,我们将整个工作簿写入到指定的文件路径。
阅读全文