asp.net如何实现word文档在线预览


实现方式:office文档转html,再在浏览器里面在线浏览

 

1、首先引入com组件中office库,然后在程序集扩展中引入word的dll

 

 

 

2、将Microsoft.Office.Interop.Word的嵌入互操作类型设置为 false,如图

 

3、主要代码

 
C# 代码    复制
 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.Office.Core; using Word = Microsoft.Office.Interop.Word; namespace Wolfy.OfficePreview {  public class Office2HtmlHelper  {  /// <summary>  /// Word转成Html  /// </summary>  /// <param name="path">要转换的文档的路径</param>  /// <param name="savePath">转换成html的保存路径</param>  /// <param name="wordFileName">转换成html的文件名字</param>  public static void Word2Html(string path, string savePath, string wordFileName)  {   Word.ApplicationClass word = new Word.ApplicationClass();  Type wordType = word.GetType();  Word.Documents docs = word.Documents;  Type docsType = docs.GetType();  Word.Document doc = (Word.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { (object)path, true, true });  Type docType = doc.GetType();  string strSaveFileName = savePath + wordFileName + ".html";  object saveFileName = (object)strSaveFileName;  docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFileName, Word.WdSaveFormat.wdFormatFilteredHTML });  docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod, null, doc, null);  wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);   }  } } 

 

调用

Office2HtmlHelper.Word2Html(MapPath("/Doc/分析某网站的SEO策略(外链篇).doc"), MapPath("/Html/"), "分析某网站的SEO策略(外链篇)");


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM