相关疑难解决方法(0)

如何在不安装Ms Office的情况下在C#中创建Excel(.XLS和.XLSX)文件?

如何使用C#创建Excel电子表格而无需在运行代码的计算机上安装Excel?

.net c# excel file-io

1804
推荐指数
37
解决办法
105万
查看次数

Windows 7 .net Excel .SaveAs()来自HRESULT的错误异常:0x800A03EC

背景:
我在工作中敬酒我的旧硬盘并且正在换新的硬盘.有了它,我将不得不重建我的机器.我的经理在他的借用笔记本电脑上安装了Windows 7,我一直在使用我的机器没有通信.但我遇到了一个问题.

我们有相当多的应用程序使用Microsoft.Office.Interop.Excel参考.我已经得到了过去的一些错误,但迄今为止我一直停留在过去几天的一个(我的机子居然遭遇了硬盘驱动器故障后的第一个重建),并已unnable以找到一个解决.我已经搜索过此错误,但在Windows 7上找不到任何有此问题的人,尽管我尝试过其他Windows Server 2008修复程序无济于事.

如果我无法解决这个问题,我将无法使用Windows 7并且想知道在重建机器之前只需擦除它并重新开始(第三次).

问题:
操作系统:Windows 7企业版
错误消息:HRESULT异常:0x800A03EC
代码:

Private m_xls As Microsoft.Office.Interop.Excel.Application
Private m_wkbk As Microsoft.Office.Interop.Excel.Workbook
Private m_wksht As Microsoft.Office.Interop.Excel.Worksheet
m_xls = New Application
m_xls.Visible = False : m_xls.DisplayAlerts = False
m_wkbk = m_xls.Workbooks.Open(Me.FilePath)
m_wksht = CType(m_wkbk.ActiveSheet, Worksheet)
'...Write some data...'
m_wkbk.SaveAs(Me.FilePath, XlFileFormat.xlWorkbookNormal, Missing.Value, Missing.Value, False, False, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value)
Run Code Online (Sandbox Code Playgroud)

错误发生在最后一行.

到目前为止我尝试过的:

  1. 更改AppPool以使用NetworkService帐户(这是我在安全设置中的用户列表中找不到的'ApplicationPoolIdentity').然后授予NetworkService帐户对相应文件夹的完全访问权限.
  2. 使NetworkService可以访问DCOMCNFG中的所有"Microsoft Excel应用程序"设置
  3. 运行此命令"appcmd set config -section:asp -enableParentPaths:true"因为它是我能找到的唯一的其他东西
  4. 使用.SaveCopyAs()虽然有效但导致了不同的错误

我只是想知道是否有其他人遇到过此问题,因为Windows 7是新的.我可以使用Server 2008,但在我告诉我的经理它不起作用之前我想有一些可靠的推理.

谢谢杰夫

.net excel windows-7

13
推荐指数
1
解决办法
4万
查看次数

标签 统计

.net ×2

excel ×2

c# ×1

file-io ×1

windows-7 ×1