我想使用SpreadhsheetGear
阅读批量Excel文件 public ValueFormulaSet ReadData(string sheetName, string address)
{
var wrksh = this.Workbook.Worksheets[sheetName];
var range = wrksh.Range[address];
var result = new ValueFormulaSet();
result.RowCount = range.RowCount;
result.Values = (object[,])range.Value;
result.Formulas = (object[,])GetFormulas(range);
return result;
}
我想知道这种方法会读取整个数据并将其填入result.Values
因为我想使用批量数据文件,这种方法可能会占用大量内存。
有没有其他方法可以改进方法以获得更好的内存优化?
我不知道SpreadhsheetGear如何处理批量文件。
我正在寻找一些延迟加载方法,通过它我可以做一些缓冲,
或者我想做一些事情,比如实施IDataReader
并使用SqlBulkCopy.WriteToServerAsync Method (IDataReader)
。
答案 0 :(得分:0)
SpreadsheetGear 完全加载整个excel文件。 我和他们的技术支持人员确认了这件事,他们回复了我
“我们的产品是一个完整的电子表格组件,带有 计算引擎和丰富的工作簿操作功能。 因此,我们必须完整地加载Excel文件 - 不像 可能有其他第三方电子表格产品 在这里或只是部分加载文件的部分 有“
SpreadsheetGear适用于需要执行某些计算和工作簿操作的情况。 我的要求只是从批量excel文件导入数据,所以我切换到 OLE DB 并将SQLBulkCopy类与数据读取器一起使用。