2010-06-11 252 views
3

任何帮助表示赞赏:异常来自HRESULT:0x800A03EC

我正在开发与VS2010交互的C#.Net应用程序与Excel。该应用程序在我的本地机器上正常工作。然而,上传到远程Windows 2003服务器会中断应用程序。

本来,我收到以下消息

  • 与CLSID {00024500-0000-0000-C000-000000000046}失败,由于以下错误检索COM类工厂组件:80070005

谷歌搜索的问题(这表明权限问题)之后,我想这:

现在我得到了同样的操作此消息:

  • 从HRESULT异常:0x800A03EC

谷歌搜索似乎暗示这是版本匹配错误。但是,本地计算机和远程服务器都使用Excel 2007.

任何建议都将非常受欢迎。提前致谢。

-Daniel

回答

0

建议:

  1. 从一个线程控制Excel和使用 “EN_US” 文化。如果使用非英语文化,有很多触发0x800A03EC的属性。是意外您的Windows 2003使用另一种系统语言,如果是的话,那么这可能是问题。无需重新安装Windows!只需在您的应用中指定线索的文化。
  2. 检查使用范围设置的字符串的长度。有911个字符的限制。您可以为具有较大字符串的单元格单独设置它们。这是乏味的,但我找不到任何其他方式来解决这个问题。
1

如果您要将datagridview发送到Excel电子表格,请记住Excel单元格始于Cell(1,1),但datagridview.rows和datagridview.columns的索引为0.因此,如果您尝试发送datagridviewcell(0,0)的内容到Excel单元格(0,0),您将从HRESULT中获得异常:0x800A03EC

我在疯狂地搜寻了15分钟左右,然后将我的手掌into到我的前额那个。

Excel.Cells(0,0)=Datagridviewcellvalue // throws HRESULT: 0x800A03EC error 
Excel.Cells(1,1) = Datagridviewcellvalue //no error 
0

我能够通过全面禁用所有加载项并重新启动应用程序来解决此问题。然后我重新启用了有用的,看着Excel的行为。 YMMV

0

从“C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files”这个文件夹中删除临时ASP.Net文件,请在此之后检查。

检查后,它也没有工作,然后重新启动系统,并检查...有可能发生这种情况,因为损坏的文件。所以做一张光盘检查。

谢谢

相关问题