我正在读取.xlsx文件(在C#中)有大量数据(使用Microsoft.Office.Interop.Excel,最多几列的长度为415000,该文件有12列,每列有不同的长度。我想找到长度特定列的例如3,4,5
我试图做类似下面的事情(因为我没有看到任何直接函数来计算列的实际长度)但是给出的存储空间不足以完成此操作。 (HRESULT异常:0x8007000E(E_OUTOFMEMORY))第1行
int rows = excelWorksheet.UsedRange.Rows.Count;
Excel.Range excelRange = excelWorksheet.UsedRange;
object[,] valueArr = (object[,])excelRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);.......1
int[] columnSize = new int[valueArr.Length / rows+1];
然后循环遍历列以通过循环查找每列的长度,直到其行具有数据
有人可以为此提供帮助吗?是否有任何直接的方法来查找列的长度...
答案 0 :(得分:0)
考虑使用Microsoft的Open XML SDK,它允许您将XLSX文件作为XML文档加载。使用Linq-to-XML可能是一种更有效的操作大型Excel文件的方法,而不是使用Excel和进行互操作。
您可以在MSDN上找到有关Open XML的更多信息。