Excel中的数组转置当字符数<时,Interop 10.0引发异常。 32000

时间:2013-10-24 09:33:51

标签: c# excel excel-interop

问题:

我正在使用ExcelWorksheetFunction Transpose

object[] colValues = null;

colvalues = ... // Initialize and assign some string values to array and its length/count is greater than 0

mySheet.Range(startCellNumber, endCellNumber).Value = 
                      mySheet.Application.WorksheetFunction.Transpose(colValues);

以前,当字符串长度(不是数组长度)为~ 159,000时,这会引发异常。

我们查看了here,并说"Total number of characters that a cell can contain"32767。我们将字符串长度减少到32000,并且在Office 2010/2013 上工作正常,但在Office 2007上失败,即使其限制也是32767

例外:

Exception from HRESULT: 0x800A03EC --Stack Trace-- at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) at Microsoft.Office.Interop.Excel.Range.set_Value(Object RangeValueDataType, Object)

这对Office 2007有什么作用?我正在使用Excel Interop 10.0。

0 个答案:

没有答案