word&excel转换成html

本文提供了一个使用C#将Excel文件(.xlsx)转换为HTML文件的代码示例。通过调用Microsoft Office Interop Excel库,该示例展示了如何静默打开Excel文件、将其保存为HTML格式,并关闭所有相关进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
   //word
   //Response.Write(Get_Html("New.doc"));
   //excel
   ExcelConvertToHtml("C://generated.xlsx", "C://aaax.html");
}

protected void ExcelConvertToHtml(string xlsPath, string htmlPath)
{
   try
   {
    Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.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,o,o);
    object fileName = htmlPath;
    object format = Microsoft.Office.Interop.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,o);

    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);
//    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值