NPOI+C#通过sheet.CreateRow(0).Create(1),然后使用sheet.CreateRow(1).Create(2),第二行第二列会覆盖掉第一行第一列的内容吗
时间: 2024-02-02 07:02:37 浏览: 206
NPOI调用实现同一个表格的不同sheet记录数据
在NPOI中,如果你使用`ISheet.CreateRow()`方法来创建新的行,那么会覆盖掉先前创建的同一行的内容。因此,在你的示例代码中,第二行第二列会覆盖掉第一行第一列的内容。
如果你想要在不覆盖现有内容的情况下创建新的单元格,可以使用`IRow.CreateCell()`方法。下面是一个示例代码:
```csharp
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System.IO;
// 创建工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 创建工作表
ISheet sheet = workbook.CreateSheet("Sheet1");
// 创建第一行
IRow row1 = sheet.CreateRow(0);
// 创建第一列
ICell cell1 = row1.CreateCell(0);
cell1.SetCellValue("第一列");
// 创建第二列
ICell cell2 = row1.CreateCell(1);
cell2.SetCellValue("第二列");
// 创建第二行
IRow row2 = sheet.CreateRow(1);
// 创建第三列
ICell cell3 = row2.CreateCell(2);
cell3.SetCellValue("第三列");
// 将工作簿保存到文件
using (FileStream fs = new FileStream("example.xls", FileMode.Create))
{
workbook.Write(fs);
}
```
该示例代码创建了一个名为“Sheet1”的工作表,并在第一行创建了两个单元格,分别为“第一列”和“第二列”;在第二行创建了一个单元格,为“第三列”。你可以根据需要修改代码来创建更多的行和列。
阅读全文