将Word文档转化为HTML格式的文档

用Word.Application提供的方法,可以很轻易地将Word文档转化为HTML等其它格式,下面就是实现的全部的代码。注意,必须先添加引用:
Microsoft Word 11.0 Object Library

.aspx 什么也不用加,直接在.aspx.cs 的 page_load 里加代码了

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using Word = Microsoft.Office.Interop.Word;

public partial class Default4 : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
// 在此处放置用户代码以初始化页面
        Word.ApplicationClass word = new Word.ApplicationClass();
        Type wordType 
= word.GetType();
        Word.Documents docs 
= word.Documents;

        
// 打开文件
        Type docsType = docs.GetType();
        
object fileName = "d:\\aaa.doc";
        Word.Document doc 
= (Word.Document)docsType.InvokeMember("Open",
        System.Reflection.BindingFlags.InvokeMethod, 
null, docs, new Object[] { fileName, truetrue });

        
// 转换格式,另存为
        Type docType = doc.GetType();
        
object saveFileName = "d:\\aaa.html";
        
//下面是Microsoft Word 9 Object Library的写法,如果是10,可能写成:
        /*
        docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,
         null, doc, new object[]{saveFileName, Word.WdSaveFormat.wdFormatFilteredHTML});
        
*/

        
///其它格式:
        
///wdFormatHTML
        
///wdFormatDocument
        
///wdFormatDOSText
        
///wdFormatDOSTextLineBreaks
        
///wdFormatEncodedText
        
///wdFormatRTF
        
///wdFormatTemplate
        
///wdFormatText
        
///wdFormatTextLineBreaks
        
///wdFormatUnicodeText

        docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,
         
null, doc, new object[] { saveFileName, Word.WdSaveFormat.wdFormatHTML });

        
// 退出 Word
        wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod,
         
null, word, null);

    }

}

posted on 2007-12-09 14:05  执法长老  阅读(844)  评论(0编辑  收藏  举报

导航