Microsoft Office Excel (0x800A03EC)

来源:百度知道 编辑:UC知道 时间:2024/05/15 13:09:39
ASP在导出Excel时出错。
Microsoft Office Excel (0x800A03EC)
Microsoft Office Excel cannot open or save any more
documents because there is not enough available memory or disk space.
To make more memory available,close workbooks or programs you no longer need.
To free disk space,delete files you no longer need from the disk you are saving to.

这是怎么回事?我确定不是硬盘和内存容量的问题。
XP, 12G free disk and 500M available Memory。
小弟分不多了,谢谢指教了。
c盘的空间是充足的,没有打开其他窗口,更没有开excel文件。文件夹下也没有跟生成文件名字相同的excel文件。
thank you all the same!
而且代码没有使用 CultureInfo 方式调用 Microsoft Office Excel

1:最终用户的计算机上没有安装匹配的 MUI 包
如果您的代码使用 CultureInfo 调用 Microsoft Office Excel,而且最终用户的计算机上没有安装与 Microsoft Office Excel 匹配的 MUI 包,则代码不会按预期的方式工作。只有当您插入代码以捕获并显示异常,用户才会收到错误。

如果最终用户的区域设置中选择的区域设置与安装的 Office 语言不匹配,Excel 会尝试查找正确的 MUI 包。如果 Excel 未找到正确的 MUI 包,当代码调用某些方法和属性时,可能会出现以下错误:

最有可能的“System.Runtime.InteropServices.COMException”类型的异常出现在 mscorlib.dll 中。
其他信息:HRESULT 中的异常:0x800A03EC。
-或-

最有可能的“System.Runtime.InteropServices.COMException”类型的异常出现在 ExcelProject.dll 中。
其他信息:格式太旧或是类型库无效。
对于那些没有可用的 MUI 包的用户,要更正此问题,可以将托管代码扩展中线程的 CultureInfo 更改为“英语(美国)(en-US)”,然后在 COM 调用完成后将其更改回原来的 CultureInfo。
更改线程的 CultureInfo
以下代码说明如何更改线程的 CultureInfo,以便在任何区域设置下都能成功执行 COM 调用:

基本步骤如下:

创建一个变量来存储当前的 CultureInfo。
将 CultureInfo 更改为“en-US”,以便进行 COM 调用。