asp.net实现word文档在线预览功能的方法

  本文实例讲述了asp.net实现word文档在线预览功能的方法。分享给大家供大家参考。具体实现方法如下:

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

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

asp.net实现word文档在线预览功能的方法

asp.net实现word文档在线预览功能的方法

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

asp.net实现word文档在线预览功能的方法

  3、主要代码:

  

复制代码 代码如下:
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策略(外链篇)");

  希望本文所述对大家的asp.net程序设计有所帮助。