ASP.net2.0把word、excel转换成Html(转)

 

//网站 ---添加引用--com--Microsoft Excel 9.0 object Library .// Microsoft Word 9.0 object Library

using System.Reflection;
using Excel;
using System.Diagnostics;
using Microsoft.Office;

public partial class tel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//word
Response.Write(Get_Html("New.doc"));
//excel
ExcelConvertToHtml("E:\\12345.xls","E:\\aaa.html");
}


protected void ExcelConvertToHtml(string xlsPath, string htmlPath)
{
try
{
Excel.Application app
= new Excel.Application();
app.Visible
= false;
Object o
= Missing.Value;

/// _Workbook xls=app.Workbooks.Open(xlsPath,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o);

_Workbook xls
= app.Workbooks.Open(xlsPath, o, o, o, o, o, o, o, o, o, o, o, o);
object fileName = htmlPath;
object format = Excel.XlFileFormat.xlHtml;//Html

// xls.SaveAs(ref fileName,ref format,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o);
xls.SaveAs(fileName, format, o, o, o, o, XlSaveAsAccessMode.xlExclusive, o, o, o, o);
//xls.SaveAs(
object t = true;
app.Quit();

Process[] myProcesses
= Process.GetProcessesByName("EXCEL");
foreach (Process myProcess in myProcesses)
{
myProcess.Kill();
}

}

catch (Exception ex)
{
System.Console.Write(ex.Message);
// MessageBox.Show(ex.Message);
}

}

private string Get_Html(string FileName)
{

Word.ApplicationClass word
= new Word.ApplicationClass();
Type wordType
= word.GetType();
Word.Documents docs
= word.Documents;

// 打开文件
Type docsType = docs.GetType();
// RAID.doc
// string newFileNamePath = this.Server.MapPath(mydata.Config.SysUploadPath + "/" + FileName);
string newFileNamePath = this.Server.MapPath("download/" + FileName);
Word.Document doc
= (Word.Document)docsType.InvokeMember

(
"Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { newFileNamePath, true,

true }
);

// 转换格式,另存为
Type docType = doc.GetType();
object saveFileName = newFileNamePath.Replace(".doc", ".htm");
//下面是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);

string newFileName = FileName.Replace(".doc", ".htm");
return (newFileName);
}


}

posted @ 2009-09-29 17:57  青青木  阅读(3372)  评论(0编辑  收藏  举报