【问题标题】:Excel download issue in .Net 3.5.Net 3.5 中的 Excel 下载问题
【发布时间】:2012-01-22 02:01:32
【问题描述】:

获取 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)

【问题讨论】:

  • 什么excel版本,多少列,怎么“巨大”,什么“特殊字符”,哪个com-exception,什么源码???
  • Excel版本是2003,24列,20000行,很多特殊字符20个左右源代码是VB。有一两个这样的列。我们最近从 .Net 1.1 迁移到 .Net 3.5。它在 .Net 1.1 中运行良好。我们当前遇到的错误是 System.Runtime.InteropServices.COMException (0x800A03EC)。如果删除了具有特殊字符的特定列,则它可以正常工作。
  • 请帮忙。很抱歉这个问题含糊不清。
  • 您应该编辑您的问题以添加新信息,而不是评论(我已经整理好了)。但是您还应该显示生成 excel 并将其写入响应的 VB.NET 代码。查看导致此错误的列的一些示例数据也会有所帮助。
  • 我已经添加了 VB.NET 代码。请检查并提供帮助。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 2012-05-07
    相关资源
    最近更新 更多