【问题标题】:Getting Error: HRESULT: 0x800A03EC while manipilating Excel in c#在 c# 中操作 Excel 时出现错误:HRESULT: 0x800A03EC
【发布时间】:2013-08-30 05:12:36
【问题描述】:

我收到一个错误: HRESULT 异常:0x800A03EC 每当我将范围的公式设置为:

        Range range = destinationSheet.Range["A1"];
        string[,] formulaString = new string[numberOfRows, 1];
        range = range.Resize[numberOfRows, 1];

        for (int count = 1; count <= numberOfRows; count++)
        {
            string worksheet = "Sheet1";
            string cellRef = "A1"
            string formula = string.Format("={0}!{1}", sourceSheetName, cellRef);
            formulaString[count-1, 0] = formula;                
        }

        range.set_Value(Type.Missing, formulaString); 
        range.Formula = range.Value;   // getting exception here

这可能是什么原因

【问题讨论】:

  • 您必须提供更多代码,我们无法仅凭这一行判断出什么问题。
  • 你想用最后一行做什么?至少在 VBA 中,前一行足以分配公式。如果您想将这些公式转换为值,那么 range.Value = range.Value 应该这样做。
  • 是的蒂姆我正在尝试将这些公式转换为值,但即使使用:range.Value = range.Value 也会给出相同的错误

标签: c# excel c#-4.0


【解决方案1】:

IIS 用户帐户必须具有写入文件的权限。

在以下文章中搜索 0x800A03EC,How to Create Excel file in ASP.NET C#

【讨论】:

    【解决方案2】:

    看起来你正在尝试实现这个:Range.set_Value(Missing.Value, arrayFormulas)

    HRESULT:0x800A03EC 是未知的(对于 VB.Net)COM 错误。这通常发生在 Excel 因您的输入或参数错误而引发错误时。

    在您的情况下,这意味着 Excel 可以很好地处理文本,但是当您尝试将其作为公式输入时,它会发出嘶哑的声音。您需要非常仔细地检查您的公式,因为 Excel 会告诉您它们是错误的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多