ASP.NET將Word文檔轉化爲HTML格式的文檔

利用Word.Application提供的方法,可以很輕易地將Word文檔轉化爲HTML等其它格式,下面就是實現<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

的全部的代碼:

Visual C#

WordToHtml.aspx

<%@ Page language="c#" Codebehind="WordToHtml.aspx.cs"

AutoEventWireup="false"

Inherits="aspxWebcs.WordToHtml" %>

<!DOCTYPE HTML PUBLIC "-//W<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />3C//DTD HTML 4.0 Transitional//EN" >

<HTML>

<HEAD>

<title>WordToHtml</title>

<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">

<meta name="CODE_LANGUAGE" Content="C#">

<meta name="vs_defaultClientScript" content="JavaScript">

<meta name="vs_targetSchema"

content="http://schemas.microsoft.com/intellisense/ie5">

</HEAD>

<body MS_POSITIONING="GridLayout">

<form id="Form1" method="post" runat="server">

</form>

</body>

</HTML>

WordToHtml.aspx.cs

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using Office;

namespace aspxWebcs

{

/// <summary>

/// WordToHtml 的摘要說明。

/// 首先要添加引用:Microsoft Word 9.0 Object Library

/// </summary>

public class WordToHtml : System.Web.UI.Page

{

private void Page_Load(object sender, System.EventArgs e)

{

// 在此處放置用戶代碼以初始化頁面

Word.ApplicationClass word = new Word.ApplicationClass();

Type wordType = word.GetType();

Word.Documents docs = word.Documents;

// 打開文件

Type docsType = docs.GetType();

object fileName = "d://tmp//aaa.doc";

Word.Document doc = (Word.Document)docsType.InvokeMember("Open",

System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] {fileName, true, true});

// 轉換格式,另存爲

Type docType = doc.GetType();

object saveFileName = "d://tmp//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);

}

 

#region Web 窗體設計器生成的代碼

override protected void OnInit(EventArgs e)

{

//

// CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

/// <summary>

/// 設計器支持所需的方法 - 不要使用代碼編輯器修改

/// 此方法的內容。

/// </summary>

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

}

}

 

發佈了48 篇原創文章 · 獲贊 3 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章