我正在使用NPOI使用以下函数清除从给定行索引到最后一行的所有行的数据:
public void DeleteToLastRow(ISheet sheet, int firstRowIndex)
{
int lastRowIndex = sheet.LastRowNum;
for (int rowIndex = lastRowIndex; rowIndex >= firstRowIndex; rowIndex--)
{
var deletedRow = sheet.GetRow(rowIndex);
// All rows are warrantied to be not null
sheet.RemoveRow(deletedRow);
}
}
然而,我每排大约有100个细胞,而这100个细胞中约有80个细胞具有一些复杂的配方。因此,删除200行需要大约8秒钟。在这种情况下,有没有办法提高性能?
大多数单元格在同一行的开头引用3或4个其他单元格。它们还引用了我不删除的工作表开头的1个固定单元格。
我正在使用.Net 4.6.2,NPOI 2.3.0,我的文件是xlsx所以我正在使用XSSF。