asp.net word ecxel类型文件在线预览
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();
- }
- }
- }
- }
- Microsoft.Office.Interop.Excel_Word.dll.zip (589.3 KB)
asp.net word ecxel类型文件在线预览的更多相关文章
- 【ASP.NET 进阶】PDF文件在线预览(类似百度文库)
工作需要完成文档的在线预览,现在完成了第一步PDF文件的预览,步骤是通过PDF转换工具pdf2swf.exe把PDF文件转换为SWF文件,然后通过FlexPaper就可以预览了.效果如下(GIF图片太 ...
- 文件在线预览doc,docx转换pdf(一)
文件在线预览doc,docx转换pdf(一) 1. 前言 文档转换是一个是一块硬骨头,但是也是必不可少的,我们正好做的知识库产品中,也面临着同样的问题,文档转换,精准的全文搜索,知识的转换率,是知识库 ...
- 网页中动态嵌入PDF文件/在线预览PDF内容https://www.cnblogs.com/xgyy/p/6119459.html
#网页中动态嵌入PDF文件/在线预览PDF内容# 摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如 ...
- C# WebAPI 文件在线预览
最近在写一个移动端API接口,其中有一个需求:接口返回附件url地址让手机端调用实现文件在线预览.大体实现思路:把doc.xls等文本格式文件转换为pdf,转换后的pdf文件存放在服务器上面,方便第二 ...
- kkfileview v2.0 发布,文件在线预览项目方案
kkfileview文件在线预览 此项目为文件文档在线预览项目解决方案,项目使用流行的spring boot搭建,易上手和部署,部署好后可以独立提供预览服务,使用http接口访问,不需要和应用集成,具 ...
- 基于开源方案构建统一的文件在线预览与office协同编辑平台的架构与实现历程
大家好,又见面了. 在构建业务系统的时候,经常会涉及到对附件的支持,继而又会引申出对附件在线预览.在线编辑.多人协同编辑等种种能力的诉求. 对于人力不是特别充裕.或者项目投入预期规划不是特别大的公司或 ...
- 使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误
首先大概说明一下问题出现的背景:我用PDF.JS实现文件在线预览,参考网上的办法,在jsp文件中使用 <iframe src="<c:url value="js/gen ...
- Aspose office (Excel,Word,PPT),PDF 在线预览
前文: 做个备份,拿的是试用版的 Aspose,功能见标题 代码: /// <summary> /// Aspose office (Excel,Word,PPT),PDF 在线预览 // ...
- office文件在线预览,模仿网易邮箱在线预览的
最近研究了半天,代码是倾情奉送啊,C#,asp.net的 这个原理是office文件转换为PDF文件,然后再转换成SWF文件,FlexPaper+swfTools. 有个问题,需要在web.confi ...
随机推荐
- ASP.NET MVC5学习笔记之Action参数模型绑定基本过程
当我们在Controller中定义一个Action,通常会定义一个或多个参数,每个参数称为一个模型,ASP.NET MVC框架提供了一种机制称为模型绑定,会尝试自动从请求的信息中实例化每一个模型并赋值 ...
- mvc url路由参数的加密和解密
查看某个信息的时候一般会在url上加上该信息在数据库中对应的主键id(而且一般是自增的) url是这样子的 xxxDetail/1 , 虽然对于我们开发人员来说可以这种显式的数据库主键会方便调试过程, ...
- python 逻辑运算符与比较运算符的差别
文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/05/29/2524376.html 逻辑运算符 and, or, not 比较运算符 ==, !=, ...
- throw和throws
uncheckException的处理 class User{ private int age; public void setAge(int age){ if(age < 0){ //生成异常 ...
- .NET开源工作流RoadFlow-表单设计-新建表单(属性设置)
点击表单设计工具栏上的 新建表单 按钮会弹出新表单属性设置框: 表单名称:新表单表名称. 数据连接:表单对应的数据库连接(此连接在 系统管理-->数据库连接 中维护). 数据表:表单对应的数据库 ...
- 动态切换采用 CSplitterWnd 静态划分的视图布局(MFC)
标题读起来有些拗口,具体是什么情况,我们来看: 一.问题的提出 一个采用MFC开发的软件,其窗体视图采用CSplitterWnd三分,效果如下图所示: 图1 软件的默认视图布局 该MFC开发的软件功能 ...
- 记录一下mvc发布
让别人也可以访问你电脑上的ASP.NET MVC创建的网站 http://www.cnblogs.com/laoqi/p/4169184.html
- iOS进阶学习-数据处理之文件读写
一.沙盒机制 1.什么是沙盒? 每一个iOS应用程序都会为自己创建一个文件系统目录(文件夹),这个独立.封闭.安全的空间,叫做沙盒. 2.沙盒机制(SandBox) 沙盒是一种安全体系. 它规定了应用 ...
- sp.ui.rte.js参数错误
出现这个错误的原因是,在新建页面我用spd隐藏了两行不需要的填写的控件. 去掉这两个隐藏属性就可以了.
- vs2010运行C程序时,运行结果窗口一闪而过
摘要:vs2010运行C程序时,运行结果窗口一闪而过; ------------------------------------------------------------ Ctrl F5测试运行 ...