我怎样才能获得我可以调整Excel工作表的最大尺寸?

我有一个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; 

我已经省略了一些不重要的步骤。 基本上,我传递了一个对象数组,我从第一个types获取types,并使用属性来构build列名称列表。 我把它放在第一行。这就是为什么我在第二行开始数据。

我遇到的问题是,我有一个Excel 97-2003工作簿(最大行约65K行),我试图带入105K对象。 它resize窒息。 我想检查一下,如果我的resize是有效的,所以我可以告诉用户,但我似乎无法find“MaxRows”或类似的属性。 有一个吗?

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

以下是Excel 2003中工作表的硬性限制。虽然您可以开始在多个工作表或其他各种技巧之间传播数据,但没有超出这些限制的编程方式。

Excel 2010已经极大地扩展了这些限制 。 因此,一个选项可能是让您的客户作为项目的一部分进行升级。