·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> asp.net如何实现word文档在线预览

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

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

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策略(外链篇)");