【发布时间】:2011-05-01 18:43:07
【问题描述】:
我正在尝试将 .doc 文件转换为 .htm 格式以在 ASP.NET MVC 页面中查看。
我在 C# 中使用以下代码:
using Microsoft.Office.Core;
using Microsoft.Office.Interop.Word;
....
Microsoft.Office.Interop.Word.Application objWord = new Microsoft.Office.Interop.Word.Application();
object source = @"C:\Users\XYZ\Desktop\ScreenShot.doc";
object target = @"C:\Users\XYZ\Desktop\ScreenShot.html";
object unknown = Type.Missing;
objWord.Documents.Open(ref source, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown, ref unknown);
object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatRTF;
objWord.ActiveDocument.SaveAs(ref target, ref format,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown);
我曾尝试用谷歌搜索将 .doc(甚至 .ppt )转换为 .htm 格式的方法,总能找到与上述类似的代码。
但我不断收到此异常:
检索 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因是以下错误:80040154 未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))。
在线:
Microsoft.Office.Interop.Word.Application objWord = new Microsoft.Office.Interop.Word.Application();
这是因为我安装了 Word Starter 2010 而不是完整的 Office 2010,还是有其他解决方案?
【问题讨论】:
-
不要在服务器上自动化 Office。
-
@SLaks : 你能解释一下吗...谢谢。
-
@SLacks :我什至在一个简单的 C# 控制台应用程序上尝试了这段代码;我仍然有例外。