.net - Windows Server 2008 是否支持 Office 2003 互操作?

标签 .net excel-interop

尝试在 Windows Server 2008 上运行互操作相关程序时出现以下错误,它在 Win Server 2003 和 XP 上运行良好:

System.Runtime.InteropServices.COMException (0x800A03EC):HRESULT 异常:0x800A03EC 在 Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs(.......)

根据 Microsoft 的说法,Windows Server 2008 不在支持的操作系统列表中。

http://www.microsoft.com/downloads/en/details.aspx?familyid=3c9a983a-ac14-4125-8ba0-d36d67e0f4ad&displaylang=en

系统要求

支持的操作系统:Windows 2000 Service Pack 3;Windows Server 2003;Windows XP

任何人都可以确认这一点..有人试过吗..?

最佳答案

找到答案......!!!!!!

Microsoft 正式表示,Microsoft Office 2003 Interop 在 Windows Server 2008 上不受支持。

但在对代码和搜索进行大量排列和组合之后,我们找到了一种适用于我们场景的解决方案。

解决方案是弥补 Windows 2003 和 2008 维护其文件夹结构的方式之间的差异,因为 Office Interop 依赖于桌面文件夹来中间打开/保存文件。 2003 系统在 systemprofile 下包含 desktop 文件夹,而 2008 系统没有。

因此,当我们在 2008 年的相应层次结构下创建此文件夹时,如下所示; Office Interop 能够根据需要保存文件。 此桌面文件夹需要在

下创建

C:\Windows\System32\config\系统配置文件

C:\Windows\SysWOW64\config\系统配置文件

这对我有用...

  1. 还要检查是否安装了 .NET 1.1,因为 Interop 需要它并且 Windows Server 2008 没有预装它

  2. 或者您也可以使用 SaveCopyas() 方法,只是将参数作为文件名字符串)

谢谢大家..!

关于.net - Windows Server 2008 是否支持 Office 2003 互操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4438121/

相关文章:

c# - .NET 返回值与抛出的异常设计问题

c# - 是否有公共(public)站点可以制作和共享 C#/.NET 代码的实时示例?

c# - 如何在 C# 中将数据从指针复制到指针?

c# - 使用 VSTO 而不是 VBA 创建 UDF

c# - 如何从 C# 关闭不保存 Excel/xlsm 工作簿,带自定义函数

c# - Razor 是倒退了一步吗?

c# - 在 ASP.NET 中如何将 Enum 绑定(bind)到 DropDownList 控件?

c# - 无法使用 C# 服务打开 xls 文件

c# - 如何设置Excel窗口的大小?

c# - 关闭 Excel 工作簿