C# 用NPOI写一个导出excel模板
时间: 2024-12-28 15:36:32 浏览: 5
在C#中,你可以使用第三方库NPOI(.NET平移的Apache POI)来处理Excel文件,包括读取和创建。下面是一个简单的步骤指南,教你如何使用NPOI来创建一个Excel模板并导出数据:
首先,你需要安装NPOI库。如果你使用的是NuGet包管理器,可以在控制台里运行:
```powershell
Install-Package NPOI
```
然后,编写一个示例代码来创建一个新的Excel工作簿,并添加工作表、单元格和数据:
```csharp
using NPOI.HSSF.usermodel;
using NPOI.XSSF.usermodel;
// 创建HSSFWorkbook(适用于旧版本Excel)或XSSFWorkbook(xlsx格式)
Workbook workbook = null;
if (IsUsingOldExcelFormat)
{
workbook = new HSSFWorkbook();
} else
{
workbook = new XSSFWorkbook();
}
// 创建一个新的工作表
Sheet sheet = workbook.CreateSheet("Template");
// 添加行和列
Row headerRow = sheet.CreateRow(0);
headerRow.CreateCell(0).setCellValue("标题A");
headerRow.CreateCell(1).setCellValue("标题B");
// 添加更多行数据
List<string[]> dataRows = GetDataToExport(); // 这里假设你有一个包含数据的列表
for (int i = 1; i < dataRows.Count; i++)
{
Row dataRow = sheet.CreateRow(i);
for (int j = 0; j < dataRows[i].Length; j++)
{
dataRow.CreateCell(j).setCellValue(dataRows[i][j]);
}
}
// 导出到文件
using (FileStream outputStream = File.OpenWrite("template.xlsx"))
{
workbook.Write(outputStream);
Console.WriteLine("Excel模板已保存!");
}
// 关闭工作簿
workbook.Close();
private bool IsUsingOldExcelFormat { get; set; } = true; // 根据实际需求设置是否为旧格式
// 假设GetDataToExport返回一个字符串二维数组,例如:
private List<string[]> GetDataToExport()
{
return new List<string[]>
{
new[] {"数据1A", "数据1B"},
new[] {"数据2A", "数据2B"}
};
}
```
在这个例子中,我们首先检查是使用HSSFWorkbook还是XSSFWorkbook(新版本Excel)。接着创建工作表,添加表头和数据行。最后,我们将工作簿写入文件。
阅读全文