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

  • 相关阅读:
    每一次要fix的pr
    docker && k8s
    beisen
    c++迭代器失效问题
    视频分析
    视频分析记录
    深信服实习生笔试题-20190315
    laravel接口设计
    tensorflow利用预训练模型进行目标检测(四):检测中的精度问题以及evaluation
    tensorflow利用预训练模型进行目标检测(三):将检测结果存入mysql数据库
  • 原文地址:https://www.cnblogs.com/ranran/p/4076381.html
Copyright © 2020-2023  润新知