Ejemplo n.º 1
0
        /// <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)
        {
            Microsoft.Office.Interop.Word.ApplicationClass word = new Microsoft.Office.Interop.Word.ApplicationClass();
            Type wordType = word.GetType();

            Microsoft.Office.Interop.Word.Documents docs = word.Documents;
            Type docsType = docs.GetType();

            Microsoft.Office.Interop.Word.Document doc = (Microsoft.Office.Interop.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, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatFilteredHTML });
            docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod, null, doc, null);
            wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
        }
Ejemplo n.º 2
0
    public string wordToHtml(System.Web.UI.HtmlControls.HtmlInputFile wordFilePath)
    {
        Microsoft.Office.Interop.Word.ApplicationClass word = new Microsoft.Office.Interop.Word.ApplicationClass();
        Type wordType = word.GetType();

        Microsoft.Office.Interop.Word.Documents docs = word.Documents;
        // 打开文件
        Type docsType = docs.GetType();
        //应当先把文件上传至服务器然后再解析文件为html
        string filePath = uploadWord(wordFilePath);

        //判断是否上传文件成功
        if (filePath == "0")
        {
            return("0");
        }
        //判断是否为word文件
        if (filePath == "1")
        {
            return("1");
        }
        object fileName = filePath;

        Microsoft.Office.Interop.Word.Document doc = (Microsoft.Office.Interop.Word.Document)docsType.InvokeMember("Open",
                                                                                                                   System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { fileName, true, true });
        // 转换格式,另存为html
        Type   docType  = doc.GetType();
        string filename = System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + System.DateTime.Now.Day.ToString() +
                          System.DateTime.Now.Hour.ToString() + System.DateTime.Now.Minute.ToString() + System.DateTime.Now.Second.ToString();
        //被转换的html文档保存的位置
        string ConfigPath   = HttpContext.Current.Server.MapPath("~/keyfile/a.html");
        object saveFileName = ConfigPath;


        docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,
                             null, doc, new object[] { saveFileName, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML });
        //关闭文档
        docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod,
                             null, doc, new object[] { null, null, null });
        // 退出 Word
        wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
        //转到新生成的页面
        return("/" + filename + ".html");
    }