C#用NPOI库已经建好的execl文件,怎么再次打开向其中写入数据
时间: 2024-03-10 10:45:37 浏览: 171
C#通过NPOI向Excel传数据.7z
要向已经存在的 Excel 文件中写入数据,需要使用 NPOI 库中的 `FileStream` 和 `Workbook` 类来打开和修改文件。下面是一个简单的示例代码:
```c#
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
// 指定 Excel 文件路径
string filePath = "path/to/excel.xlsx";
// 打开 Excel 文件
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite))
{
// 创建工作簿对象
XSSFWorkbook workbook = new XSSFWorkbook(fs);
// 获取第一个工作表
ISheet sheet = workbook.GetSheetAt(0);
// 创建行对象
IRow row = sheet.CreateRow(0);
// 创建单元格对象并设置值
ICell cell = row.CreateCell(0);
cell.SetCellValue("Hello, world!");
// 保存修改后的 Excel 文件
workbook.Write(fs);
}
```
在上面的代码中,我们通过 `FileStream` 打开 Excel 文件,并使用 `XSSFWorkbook` 类创建工作簿对象。然后,我们使用 `GetSheetAt` 方法获取第一个工作表,并使用 `CreateRow` 方法创建一行对象。接着,我们使用 `CreateCell` 方法创建单元格对象,并使用 `SetCellValue` 方法设置单元格的值。最后,我们使用 `Write` 方法将修改后的工作簿对象写回到文件中。
需要注意的是,当我们使用 `FileStream` 打开 Excel 文件时,需要指定 `FileMode.Open` 和 `FileAccess.ReadWrite` 参数,以允许读写文件。此外,由于我们在打开文件时使用了 `using` 语句,因此在代码块结束时会自动关闭文件流,无需手动调用 `Close` 方法。
阅读全文