使用ClosedXML向Excel文件追加数据

16

我需要向使用ClosedXML创建的现有Excel文件追加新数据。

如何使用ClosedXML追加Excel文件? 如何获取最后一条记录的行号并将其追加到其中,还是有其他方法吗?

谢谢!

1个回答

26

打开现有的工作簿,然后使用 Last*Used 方法:

XLWorkbook Workbook = new XLWorkbook(@"C:\existing_excel_file.xlsx");
IXLWorksheet Worksheet = Workbook.Worksheet("Name or index of the sheet to use");

int NumberOfLastRow = Worksheet.LastRowUsed().RowNumber();
IXLCell CellForNewData = Worksheet.Cell(NumberOfLastRow + 1, 1);

然后根据你的数据使用以下之一:

CellForNewData.SetValue(data);
CellForNewData.InsertData(data2);

CellForNewData.InsertTable(datatable);

欲了解更多信息,请查看插入数据插入表格页面的文档。


我在数据的顺序方面遇到了一个问题。 有些变量在正确的单元格中,而其他变量则不在。 我似乎找不到InsertData如何知道哪个变量应该放在哪个单元格中。 - Codesmell
我有一个类,其中的属性代表数据,我将该类添加到一个ArrayList中,一些数据进入正确的单元格,而其他数据则没有进入,我不明白问题出在哪里。 - Codesmell
如果您的数据是一个复杂类,请使用foreach循环并将每个对象放在新行上。然后,您可以将属性插入到所需的单元格中。 - Raidri
只是想说我已经找出问题所在了。 类中属性的顺序必须与Excel文件中的列相匹配。 再次感谢您的帮助。 - Codesmell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接