如何获得可以调整Excel工作表大小的最大大小?

时间:2011-02-16 17:35:34

标签: c# excel vsto

我有一个Excel的C#加载项,我需要将数据放在工作表上。我是这样做的:

// Now build a string array of the results
string[,] resultArray = new string[objects.Length, length];

// Fill in the values
Excel.Range resultRange = worksheet.get_Range("A2").get_Resize(objects.Length, length);
resultRange.Value = resultArray;

我遗漏了一些不重要的步骤。基本上,我传递了一个对象数组,我从第一个获取类型,并使用属性来构建列名列表。我把它放在第1行。这就是我在第2行开始数据的原因。

我遇到的问题是我有一个Excel 97-2003工作簿(最大行数约为65K行),我试图引入105K对象。它在调整大小时窒息。我想查看我的调整大小是否有效所以我可以告诉用户,但我似乎找不到“MaxRows”或类似的属性。有吗?

2 个答案:

答案 0 :(得分:1)

以下是hard limits for a worksheet in Excel 2003.虽然您可以开始在多个工作表或各种其他技巧中传播数据,但没有超出这些限制的编程方法。

Excel 2010有expanded these limits significantly。因此,选择可能是让您的客户作为项目的一部分进行升级。

答案 1 :(得分:1)

worksheet.Rows.Count将为您提供给定工作表中的最大行数。如果在访问大量行之前检查此属性,则可以使程序与2003,2007兼容,并在将来的所有Excel版本中利用增加的行数。