在.NET中将HTML转换为Microsoft Word.doc

在.NET中将HTML转换为Microsoft Word.doc,.net,ms-word,.net,Ms Word,在.NET中将HTML转换为MS Word.doc的最佳方法是什么 第三方组件?尝试使用Office互操作 private void _convetHTML2Doc( string FileNameUpload) { string filePath = Server.MapPath("~/htmlfile"); object missing = Type.Missing; object FileName = @"D:\" + "\\" + FileNameUplo

在.NET中将HTML转换为MS Word.doc的最佳方法是什么


第三方组件?

尝试使用Office互操作

    private void _convetHTML2Doc( string FileNameUpload)
{
    string filePath = Server.MapPath("~/htmlfile");
    object missing = Type.Missing;
    object FileName = @"D:\" + "\\" + FileNameUpload;
    object readOnly = true;
    m_word = new Application();

    m_word.Documents.Open(ref FileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                             ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
    string newfilename = filePath + "\\" + FileNameUpload.Replace(".html", ".doc");
    object o_newfilename = newfilename;

    object o_encoding = Microsoft.Office.Core.MsoEncoding.msoEncodingUTF8;

    object o_format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument;

    object o_endings = Microsoft.Office.Interop.Word.WdLineEndingType.wdCRLF;
    m_word.ActiveDocument.SaveAs(ref o_newfilename, ref o_format, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                                     ref missing, ref missing, ref o_encoding, ref missing, ref missing, ref o_endings, ref missing);
    m_word.Quit(ref missing, ref missing, ref missing);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_word);
    }

MS警告,当终端用户没有监视/监督/控制Word时,不要将其自动化,例如,因为它可能会弹出一个消息框;所以,如果您想在服务器上执行此操作,那么第三方组件可能比自动化Word更好

您也可以自己学习编写Word文档格式(这是一种文档化的XML格式),但是(学习和编写该格式)可能比您想要的麻烦更多


另外,请注意Word可以打开HTML:所以在某种程度上(也许是轻微的),HTML已经是Word文档。

在服务器上自动化Office是个坏主意。@Otaku:答案是。(
Server.MapPath