Asp.net中将Word文件转换成HTML的方法
程序员文章站
2024-02-22 08:07:28
本文所述为一个asp.net实现将word转换为html的功能,其关键代码如下:
//存放word文件的完整路径
string wordpath = serv...
本文所述为一个asp.net实现将word转换为html的功能,其关键代码如下:
//存放word文件的完整路径 string wordpath = server.mappath("/word/test.doc"); //存放html文件的完整路径 string htmlpath = server.mappath("/html/test.html"); //上传word文件, 由于只是做示例,在这里不多做文件类型、大小、格式以及是否存在的判断 fileupload1.saveas(wordpath); #region 文件格式转换 //请引用microsoft.office.interop.word applicationclass word = new applicationclass(); type wordtype = word.gettype(); documents docs = word.documents; //打开文件 type docstype = docs.gettype(); object filename = wordpath; //"f:\\cc.doc"; document doc =(document)docstype.invokemember("open", bindingflags.invokemethod, null, (object)docs, new object[] { filename, true, true}); //判断与文件转换相关的文件是否存在,存在则删除。(这里,最好还判断一下存放文件的目录是否存在,不存在则创建) if(file.exists(htmlpath)) { file.delete(htmlpath); } //每一个html文件,有一个对应的存放html相关元素的文件夹(html文件名.files) if(directory.exists(htmlpath.replace(".html" ,".files"))) { directory.delete(htmlpath.replace(".html", ".files"), true); }; //转换格式,调用word的“另存为”方法 type doctype =doc.gettype(); object savefilename = htmlpath; //"f:\\aaa.html"; doctype.invokemember("saveas", bindingflags.invokemethod, null, doc, new object[] { savefilename, wdsaveformat.wdformathtml }); //退出 word wordtype.invokemember("quit", bindingflags.invokemethod, null, word, null); #endregion
上述代码,在.net framework4.0 中,可能会出一编译错误,如下所示:
无法嵌入互操作类型“……”,请改用适用的接口。
经过查阅资料,找到解决方案如下:
选中项目中引入word的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为false。
该实例完整代码点击此处本站下载。
推荐阅读
-
Asp.net中将Word文件转换成HTML的方法
-
ASP.NET实现将word文档转换成pdf的方法
-
ASP.NET中将声音文件添加到资源中并进行播放的方法
-
C#中将DataTable转换成CSV文件的方法
-
asp.net html静态文件没有触发global.asax中的Application_BeginRequest事件的解决方法
-
linux环境下PHP怎么将用户上传的word文件转换成html文件
-
ASP.NET中将声音文件添加到资源中并进行播放的方法
-
利用C#代码将html样式文件与Word文档互换的方法
-
利用C#代码将html样式文件与Word文档互换的方法
-
php实现将上传word文件转为html的方法