.Net 3.5中的Excel下载问题

时间:2011-12-16 14:59:13

标签: asp.net .net-3.5 excel-2003

获得com异常,不确定它是由于特定列中的特殊字符还是特定列中的数据巨大。

我们目前得到的错误是:

  

System.Runtime.InteropServices.COMException(0x800A03EC)

  • Excel版本是2003
  • 24栏
  • 20000行
  • 很多20个左右的特殊字符
  • 源代码是VB

有一两个这样的列。我们最近已从.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)

1 个答案:

答案 0 :(得分:0)

这可能是本地化问题。尝试将CurrentCulture设置为“en-us”。

System.Threading.Thread.CurrentThread.CurrentCulture = _
            New System.Globalization.CultureInfo("en-US")