获得com异常,不确定它是由于特定列中的特殊字符还是特定列中的数据巨大。
我们目前得到的错误是:
System.Runtime.InteropServices.COMException(0x800A03EC)
有一两个这样的列。我们最近已从.Net 1.1
迁移到.Net 3.5
。 在.Net 1.1中运行良好。如果删除了具有特殊字符的特定列,则它可以正常工作。
我们正在使用的代码
intRows = parr_objReportsData(intLoopCounter).dtblData.Rows.Count
intColumns = parr_objReportsData(intLoopCounter).dtblData.Columns.Count
ReDim arr_strData(intRows - 1, intColumns - 1)
For i = 0 To intRows - 1
For j = 0 To intColumns - 1
arr_strData(i, j) = parr_objReportsData(intLoopCounter).dtblData.Rows(i).Item(j).ToString
Next
Next
objExcel.ActiveWorkbook.Worksheets(parr_objReportsData(intLoopCounter).strDataSheet).Activate()
objExcel.ActiveWorkbook.Worksheets(parr_objReportsData(intLoopCounter).strDataSheet).Range("A" & parr_objReportsData(intLoopCounter).intStartingRow & ":" & strRange & (intRows - 1 + parr_objReportsData(intLoopCounter).intStartingRow)).value = arr_strData
objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.SaveCopyAs(strDocsPath & strFileName)
答案 0 :(得分:0)
这可能是本地化问题。尝试将CurrentCulture
设置为“en-us”。
System.Threading.Thread.CurrentThread.CurrentCulture = _
New System.Globalization.CultureInfo("en-US")