【发布时间】:2018-06-04 16:59:12
【问题描述】:
有一个类似的问题,似乎没有答案(也许没有答案)。如何从 Closed XML 中“更新”现有的 Excel 表(命名范围)。我知道如何获取表格信息,并删除现有数据(见下文)
var ws = wb.Worksheet(sheetName);
var table = ws.Table("data");
table.Clear();
那么??我有一个名为“listdata”的列表,它与表头完全匹配......
我是否需要像这样一次遍历一个表(这似乎是一种浪费):
foreach (var item in listdata){table.InsertRowsBelow(1); ws.Cells(2,1).InsertData(item)}
我想如果你做这样的事情可能会更简单:
table.InsertRowsBelow(listdata.Count()); ws.Cells(2,1).InsertData(listdata);
或者有没有办法批量加载到“表”中(类似于 .AddRange(listdata) 或 .Union(listdata))。目前,我只是删除整个工作表,然后重新创建工作表并粘贴新表:
wb.Worksheets.Delete(sheetName);
var ws = wb.Worksheets.Add(sheetName);
ws.Cell(1, 1).InsertTable(listdata, "data", true);
【问题讨论】: