本文介绍了在Windows Forms应用程序中利用NPOI库以三种不同方式(HSSFWorkbook, XSSFWorkbook, SXSSFWorkbook)导出Excel文件的方法,适用于需要高效处理数据导出的开发者。
在Winform应用程序中使用NPOI库导出Excel文件有三种常用的方法:HSSFWorkbook、XSSFWorkbook 和 SXSSFWorkbook。下面将分别介绍这三种方法的示例代码。
1. 使用 HSSFWorkbook 导出 Excel:
```csharp
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
public void ExportToExcelUsingHSSF(string filePath)
{
// 创建一个新的工作簿和一个工作表。
var workbook = new HSSFWorkbook();
ISheet sheet = workbook.CreateSheet(Sample Sheet);
// 添加数据到单元格中
IRow row1 = sheet.CreateRow(0);
row1.CreateCell(0).SetCellValue(Hello);
// 保存文件
using (FileStream file = new FileStream(filePath, FileMode.Create))
workbook.Write(file);
}
```
2. 使用 XSSFWorkbook 导出 Excel:
```csharp
using NPOI.XSSF.UserModel;
public void ExportToExcelUsingXSSF(string filePath)
{
var workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet(Sample Sheet);
// 添加数据到单元格中
IRow row1 = sheet.CreateRow(0);
row1.CreateCell(0).SetCellValue(Hello);
using (FileStream file = new FileStream(filePath, FileMode.Create))
workbook.Write(file);
}
```
3. 使用 SXSSFWorkbook 导出大量数据的 Excel:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
public void ExportLargeDataUsingSXSSF(string filePath)
{
var workbook = new SXSSFWorkbook(100); // 保留最近使用的行数为100,以节省内存。
ISheet sheet = workbook.CreateSheet(Sample Sheet);
for (int i = 0; i < 500; i++)
{
IRow row = sheet.CreateRow(i);
row.CreateCell(0).SetCellValue($Hello {i});
}
// 保存文件
using (FileStream file = new FileStream(filePath, FileMode.Create))
workbook.Write(file);
}
```
以上代码示例展示了如何使用NPOI库的HSSFWorkbook、XSSFWorkbook 和 SXSSFWorkbook类来创建和导出Excel文档。选择哪一种方式取决于实际需求,比如是否需要支持大文件或者跨平台兼容性等。