Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Microsoft Excel加载项性能问题_C#_Excel_Vsto - Fatal编程技术网

C# Microsoft Excel加载项性能问题

C# Microsoft Excel加载项性能问题,c#,excel,vsto,C#,Excel,Vsto,进一步的代码在.xls上运行得差不多,在.xlsx上运行得相当慢。问题在哪里 vector = activeSheet.Columns["A", Type.Missing]; double[] temp = new double[vector.Rows.Count]; int i = 0; foreach (var item in vector.Value2) { if (item == null) break; temp[i] = vector.Value2[i

进一步的代码在.xls上运行得差不多,在.xlsx上运行得相当慢。问题在哪里

vector = activeSheet.Columns["A", Type.Missing];
double[] temp = new double[vector.Rows.Count];
int i = 0;
foreach (var item in vector.Value2)
{
    if (item == null)
        break;
    temp[i] = vector.Value2[i + 1, 1];
    i++;
}
array = new double[i];
for (int j = 0; j < i; j++)
{
    array[j] = temp[j];
}

该行包含一个问题:

vector = activeSheet.Columns["A", Type.Missing];
我已将上面的代码更改为:

double[] temp = new double[activeSheet.Rows.Count];
int i = 0;
for (i = 0; i < activeSheet.Rows.Count; i++)
{
    var item = (activeSheet.Cells[i + 1, 1] as Excel.Range).Value2;
    if (item == null)
        break;
    temp[i] = item;
}
...
现在它在一眨眼之间就可以工作了。
谢谢@Sayse和@Eddy的建议。

你认为什么课程很慢,我认为你正在测试的文件大小相同。谢谢你的评论。我已经用两个包含相同数据的文件进行了测试。xlsx的处理速度相当慢。我刚刚解决了这个问题,但从昨天晚上开始我就一直在思考这个问题。您可能希望添加您的解决方案,作为对自己问题的回答,以便将来对其他人有所帮助。当然,我将添加8小时超时后的代码。问题出在activeSheet.Columns[A,Type.Missing]行中。Xls有65k行限制。Xlsx拥有数百万。代码处理列A中的als行65k,而不是数百万或更慢