C#中NPOI库导出数据到excel是否可以在可以自动新建行,追加数据
时间: 2024-03-10 21:45:16 浏览: 74
是的,NPOI库可以在导出数据到Excel的时候自动新建行,并追加数据。具体来说,您可以使用NPOI的HSSFWorkbook和HSSFSheet类来表示Excel工作簿和工作表,然后使用HSSFSheet的CreateRow和CreateCell方法来创建新的行和单元格,最后使用HSSFCell的SetCellValue方法来设置单元格的值。下面是一个示例代码:
```csharp
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System.Collections.Generic;
using System.IO;
// 导出数据到Excel
public void ExportDataToExcel(IEnumerable<MyDataClass> data, string filePath)
{
var workbook = new HSSFWorkbook();
var sheet = workbook.CreateSheet("Sheet1");
int rowIndex = 0;
// 创建表头
var headerRow = sheet.CreateRow(rowIndex++);
headerRow.CreateCell(0).SetCellValue("列1");
headerRow.CreateCell(1).SetCellValue("列2");
// 创建数据行
foreach (var item in data)
{
var dataRow = sheet.CreateRow(rowIndex++);
dataRow.CreateCell(0).SetCellValue(item.Column1);
dataRow.CreateCell(1).SetCellValue(item.Column2);
}
// 自动调整列宽
sheet.AutoSizeColumn(0);
sheet.AutoSizeColumn(1);
// 保存文件
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
workbook.Write(fileStream);
}
}
```
上面的代码会创建一个名为“Sheet1”的工作表,并在第一行创建表头,然后遍历数据集合,为每一行创建一个新的数据行,并将数据填充到单元格中。最后会自动调整列宽,并将数据保存到指定的文件中。
阅读全文