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.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { FilePath, true, true });
/// 转换格式,另存为 HTML
Type docType = doc.GetType();
/*下面是Microsoft Word 9 Object Library的写法: */
/*docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFilePath, Word.WdSaveFormat.wdFormatHTML });*/
/*下面是Microsoft Word 10 Object Library的写法: */
docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,
null, doc, new object[] { saveFilePath, Word.WdSaveFormat.wdFormatFilteredHTML });
/// 退出 Word
wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
return true;
}
catch
{
return false;
}
finally
{
//最后关闭打开的winword 进程
Process[] myProcesses = Process.GetProcessesByName("WINWORD");
foreach (Process myProcess in myProcesses)
{
myProcess.Kill();
}
}
}
}
分享到:
相关推荐
在ASP.NET中实现Word文档的在线预览是一项常见需求,尤其在需要用户查看但不需要下载原始文件的场景下。在给定的标题和描述中,提到的技术方案是通过Office-Tools、WF(可能是Windows Forms)以及FlexPaper来实现这...
在Asp.net MVC框架中,实现在线预览各种办公文档,如Word、Excel、PowerPoint和PDF文件,是一项常见的需求。这通常涉及到技术栈的整合,包括后端处理和前端展示。以下是一些关键知识点: 1. **Asp.net MVC框架**:...
本主题聚焦于如何在Asp.NET MVC中实现在线预览功能,特别是针对Word、Excel和PDF等常见文档格式。这是一项重要的需求,因为用户在不下载文件的情况下能够查看文档内容,提升了用户体验和工作效率。 首先,我们要...
//pdf模板文件 string tempFile = Path.Combine(fileDire, "temppdf.html"); saveDoc = Path.Combine(fileDire, "viewFiles/onlinepdf.html"); result = PdfToHtml( sourceDoc, System.Web.HttpContext....
在.NET MVC框架中,开发人员经常需要处理各种类型的Office文档,如Word、Excel和PowerPoint。为了提供用户友好的体验,让用户可以在浏览器中直接预览这些文件,开发者可以利用Aspose插件。Aspose是一个强大的文件...
基于ASP.NET MVC框架的学习项目,包含MVC的框架的设计思路,通俗易懂学习MVC框架,项目中主要使用了Aspose控件通过pdfobject.js实现在线预览功能,快速易懂展示在线预览的精髓。需要VS2012版本及以上版本可以打开。...
本教程将探讨如何利用Asp.NET MVC框架,结合aspose库和pdfobject.js JavaScript库,实现在线预览Word、Excel、PowerPoint(PPT)以及PDF文件。这个功能允许用户无需下载文件,直接在浏览器中查看文档内容,极大地...
在ASP.NET开发中,有时我们需要实现用户上传文件并进行预览的功能,特别是处理常见的文档格式如Excel、Word和PDF。这个场景中提到的技术方案是通过一系列转换步骤来完成的。以下是对这一技术流程的详细解释: 1. **...
在ASP.NET中实现直接在线预览Word、Excel、TXT文件是一项常见的需求,特别是在需要提供用户友好界面的企业级应用中。这种功能允许用户无需下载文件就能查看其内容,提高了工作效率并节省了存储空间。以下是如何使用...
Word、Excel、PDF、Txt文件在线预览的实现方法 ##### Word文档预览 - 使用Microsoft.Office.Interop.Excel命名空间中的类。 - 通过创建Excel.Application实例来操作Excel文件。 - 设置Excel的Visible属性为false...
Aspose.Words的使用(打印数据到指定模板Word中,快速方便,Word水印打印),使用MvcPaper控件分页以及自定义分页实现两种方式的分页技术,另外新增了Word、Excel、PPT和PDF在线预览功能,需要VS2010及以上版本打开...
基于.NET开发的一款OFFICE在线预览组件,主要包括word,excel,pdf文档,支持预览的文件格式有doc,docx,xls,xlsx,pdf,服务器无需安装任何组件!支持二次开发!本程序源码已经打包上传至服务器,您可以任意修改分发...
在这个"ASP.NET在线打开Office 文件实例"中,我们将探讨如何利用ASP.NET实现用户在Web浏览器中直接预览和编辑Office文档,如Word、Excel和PowerPoint等。 首先,我们要理解Web Apps或Office Online的概念。Web Apps...
在这个特定的场景中,我们关注的是如何使用ASP.NET来实现在线预览文档的功能,特别是针对Office文件,如Word、Excel或PowerPoint。 在标题中提到的"asp.net 实现在线预览文档",这意味着我们将探讨如何在ASP.NET...
在本文中,我们将深入探讨如何使用ASP.NET实现一个仿百度文库的文档在线预览功能,支持多种常见文件格式,如PDF、DOC、DOCX、XLS、XLSX、PPT和PPTX。 首先,我们需要了解在线预览的基本原理。在线预览的核心是将...
标题和描述中提到的"asp.net 网页查看 word excel ppt"涉及到的是在ASP.NET平台上构建网页应用,用于在线预览和处理Microsoft Office文档,包括Word、Excel和PowerPoint。这些文件通常需要通过Web服务或者组件来实现...
基于asp.net实现的实现在线查看(预览)pdf,ppt,word,excel文件源码,使用vs进行开发, 源码运行后,选择相应的文件类型和文件路径即可查看,非常好用,本资源可供参考学习或者二次开发使用。
综上所述,该源码实现了基于ASP.NET的非HTML文件在线预览功能,涵盖了文件读取、转换和前端展示的全过程,是Web开发中一个实用的工具。通过这样的技术,用户可以在浏览器内便捷地查看各种类型的文档,提升了工作效率...
在本主题中,我们将探讨如何利用ASP.NET MVC结合aspose和pdfobject.js库来实现在线预览常用的办公文档,包括Word、Excel、PowerPoint和PDF文件。 首先,我们需要了解**aspose**。Aspose是一系列用于处理多种文件...
在ASP.NET框架中,开发人员经常需要处理文件的上传、下载以及导出数据到Excel或Word等常见任务。这些功能对于构建交互式Web应用程序至关重要,尤其是那些涉及数据管理和报告的应用程序。下面将详细介绍如何在ASP.NET...