Excel Interop 10.0中的数组移调在字符数<32000时引发exception
问题:
我正在使用ExcelWorksheetFunction 转置
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);
以前这是当string长度(不是数组长度)是~ 159,000
时引发exception。
我们在这里看到它说"Total number of characters that a cell can contain"
是32767
。 我们将string的长度缩短为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。