EXCEL错误HRESULT:0x800A03EC试图获得带有单元格名称的范围

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (29)

我正在使用Window Service项目。该项目必须在顺序时间内将数据写入Excel文件中的工作表。

但有时,只是有时,服务抛出异常“从HRESULT:0x800A03EC异常”,同时它试图获得范围与单元格的名称。

我把打开EXCEL表格的代码放在这里,并在这里找到了一个单元格。

  • OS:Windows server 2003 Office:
  • MicrosoftOffice 2003 sp2

1:打开EXCEL表格

m_WorkBook = m_WorkBooks.Open(this.FilePath, 0, false, 5,
     "", "", true, Excels.XlPlatform.xlWindows, ";",
     true, false, 0, true, 0, 0);

2:让单元格写

protected object m_MissingValue = System.Reflection.Missing.Value;
Range range = m_WorkSheet.get_Range(cell.CellName, m_MissingValue);
// error from this method, and cell name is string.
提问于
用户回答回答于

错误码0x800A03EC(或-2146827284)指姓名。_不_找到了;换句话说,已经要求了一些东西,而Excel却找不到它。

这是一种通用代码,它可以应用于许多它找不到的东西,例如使用当时无效的属性,比如PivotItem.SourceNameStandard当数据透视没有应用过滤器时抛出这个。Worksheets["BLAHBLAH"]当工作表不存在时抛出这个。通常,要求的是具有特定名称的东西,而它并不存在。至于为什么,这将需要你的一些挖掘。

检查工作表确实有要求的范围,或者.CellName肯定是给出了你要的范围的名字。

用户回答回答于

我遇到了这个错误,因为我试图将一个字符串写入一个以“=”开头的单元格。

解决方案是在等号前面加一个“‘”(撇号),这是一种告诉excel的方法,实际上,你不是在试图编写公式,而是想打印等号。

扫码关注云+社区