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。