日期:2014-05-16 浏览次数:21357 次
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