zoukankan      html  css  js  c++  java
  • word文件转html字符串(包涵格式和图片)

    新项目客户有需求,用word编辑新闻,上传到服务器并显示到富文本编辑器,编辑后保存为html格式的文本。实现如下:

    首先引用 Microsoft.Office.Interop.Word.dll(需要安装office软件并设置组件服务,否则会报拒绝访问错误)

    转换方法:

    using System;
    using System.Text;
    using MSWord = Microsoft.Office.Interop.Word;
    using System.IO;
    using System.Reflection;


    namespace ReadWord
    {
        public class GetHtmlString
        {
            /// <summary>
            /// word转html字符串   --Will.Wang
            /// </summary>
            /// <param name="wordPath">word文件绝对路径</param>
            /// <returns>html字符串</returns>
            public static string GetProceHtmlString(String wordPath)
            {
                string htmlPath = GetHtml(wordPath);
                string htmlString = ProceHtmlString(htmlPath);
                return htmlString;
            }
            /// <summary>
            /// word转html并返回html文件地址
            /// </summary>
            /// <returns></returns>
            private static string GetHtml(Object path)
            {

                MSWord.Application wordApp;
                MSWord.Document wordDoc;
                Object Nothing = Missing.Value;

                wordApp = new MSWord.Application();
                wordDoc = wordApp.Documents.Add(ref path, ref Nothing, ref Nothing, ref Nothing);

                object format = MSWord.WdSaveFormat.wdFormatFilteredHTML;
                Object newPath = path.ToString().Substring(0, path.ToString().LastIndexOf('.'))+".html";//html文件路径

                wordDoc.SaveAs(ref newPath, ref format, ref Nothing, ref Nothing, ref Nothing,
                    ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing,
                    ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);

                wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
                wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);

                return newPath.ToString();
            }


            /// <summary>
            /// 读取html字符串
            /// </summary>
            /// <param name="htmlPath"></param>
            /// <returns></returns>
            private static string ProceHtmlString(String htmlPath)
            {
                FileStream fs = new FileStream(htmlPath, FileMode.OpenOrCreate, FileAccess.Read);
                StreamReader sr = new StreamReader(fs, Encoding.Default);
                string htmlString = sr.ReadToEnd();

                sr.Close();
                fs.Close();
                return htmlString;
            }
        }
    }

  • 相关阅读:
    好想再吻一次你的唇
    我会永远永远的爱你,直到你不爱我的那一天
    我会永远永远的爱你,直到你不爱我的那一天
    回到你身边
    回到你身边
    两只公蚊子的故事
    两只公蚊子的故事
    洛谷P1090: 合并果子
    洛谷 P1288 :取数游戏II
    洛谷P1164 :小A点菜
  • 原文地址:https://www.cnblogs.com/xiaowei3632/p/9144001.html
Copyright © 2011-2022 走看看