日期:2014-05-16 浏览次数:21027 次
asp.net word ecxel类型文件在线预览
首先得引用COM:
Microsoft Excel 10 Object Library
Microsoft Word 10 Object Library
?
或者是 10以上的类库
?
我现在用的是:资源下载: http://download.csdn.net/detail/panfuy/3247641?或者附件
Microsoft Excel 10 Object Library
Microsoft Word 10 Object Library
?
代码如下:
?
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 System.IO; using System.Diagnostics; using Word = Microsoft.Office.Interop.Word; using Excel = Microsoft.Office.Interop.Excel; using System.Reflection; using Microsoft.Office.Interop.Excel; public partial class upload_preview : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { GenerationWordHTML("E://20110502.doc", "E://20110502.html"); GenerationExcelHTML("E://20110502.xls", "E://20110502.html"); } /// <summary> /// Ecxel文件生成HTML并保存 /// </summary> /// <param name="FilePath">需要生成的ecxel文件的路径</param> /// <param name="saveFilePath">生成以后保存HTML文件的路径</param> /// <returns>是否生成成功,成功为true,反之为false</returns> protected bool GenerationExcelHTML(string FilePath, string saveFilePath) { try { Excel.Application app = new Excel.Application(); app.Visible = false; Object o = Missing.Value; ///打开文件 /*下面是Microsoft Excel 9 Object Library的写法: */ /*_Workbook xls = app.Workbooks.Open(FilePath, o, o, o, o, o, o, o, o, o, o, o, o);*/ /*下面是Microsoft Excel 10 Object Library的写法: */ _Workbook xls = app.Workbooks.Open(FilePath, o, o, o, o, o, o, o, o, o, o, o, o, o, o); ///转换格式,另存为 HTML /*下面是Microsoft Excel 9 Object Library的写法: */ /*xls.SaveAs(saveFilePath, Excel.XlFileFormat.xlHtml, o, o, o, o, XlSaveAsAccessMode.xlExclusive, o, o, o, o);*/ /*下面是Microsoft Excel 10 Object Library的写法: */ xls.SaveAs(saveFilePath, Excel.XlFileFormat.xlHtml, o, o, o, o, XlSaveAsAccessMode.xlExclusive, o, o, o, o, o); ///退出 Excel app.Quit(); return true; } catch { return false; } finally { //最后关闭打开的excel 进程 Process[] myProcesses = Process.GetProcessesByName("EXCEL"); foreach (Process myProcess in myProcesses) { myProcess.Kill(); } } } /// <summary> /// WinWord文件生成HTML并保存 /// </summary> /// <param name="FilePath">需要生成的word文件的路径</param> /// <param name="saveFilePath">生成以后保存HTML文件的路径</param> /// <returns>是否生成成功,成功为true,反之为false</returns> private bool GenerationWordHTML(string FilePath, string saveFilePath) { try { Word.ApplicationClass word = new Word.ApplicationClass(); Type wordType = word.GetType(); Word.Documents docs = word.Documents; /// 打开文件 Type docsType = docs.GetType(); Word.Document doc = (Word.Document)docsType.InvokeMember("Open", System.Reflecti