当前位置: 首页 > 编程笔记 >

Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)

郏佐
2023-03-14
本文向大家介绍Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码),包括了Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)的使用技巧和注意事项,需要的朋友参考一下

1.功能说明

输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome)、IE9/10、Firefox通过

2.分类文件及代码说明

DemoFiles 存放可测试文件

Default.aspx  启动页

ExcelPreview.cs  Excel预览类

public static void Priview(System.Web.UI.Page p, string inFilePath, string outDirPath = "")
 {
 Microsoft.Office.Interop.Excel.Application excel = null;
 Microsoft.Office.Interop.Excel.Workbook xls = null;
 excel = new Microsoft.Office.Interop.Excel.Application();
 object missing = Type.Missing;
 object trueObject = true;
 excel.Visible = false;
 excel.DisplayAlerts = false;
 string randomName = DateTime.Now.Ticks.ToString(); //output fileName
 xls = excel.Workbooks.Open(inFilePath, missing, trueObject, missing,
     missing, missing, missing, missing, missing, missing, missing, missing,
     missing, missing, missing);
 //Save Excel to Html
 object format = Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml;
 Workbook wsCurrent = xls;//(Workbook)wsEnumerator.Current;
 String outputFile = outDirPath + randomName + ".html";
 wsCurrent.SaveAs(outputFile, format, missing, missing, missing,
    missing, XlSaveAsAccessMode.xlNoChange, missing,
    missing, missing, missing, missing);
 excel.Quit();
 //Open generated Html
 Process process = new Process();
 process.StartInfo.UseShellExecute = true;
 process.StartInfo.FileName = outputFile;
 process.Start();
 } 

4.PDfPreview.cs   Pdf预览类

public static void Priview(System.Web.UI.Page p, string inFilePath)
 {
 p.Response.ContentType = "Application/pdf";
 string fileName = inFilePath.Substring(inFilePath.LastIndexOf('\\') + 1);
 p.Response.AddHeader("content-disposition", "filename=" + fileName);
 p.Response.WriteFile(inFilePath);
 p.Response.End();
 }

5.TextFilePreview.cs  文本文件预览类

 public static void Preview(System.Web.UI.Page p, string inFilePath)
 {
 string fileName = inFilePath.Substring(inFilePath.LastIndexOf('\\') + 1);
 p.Response.ContentType = "text/plain";
 p.Response.ContentEncoding = System.Text.Encoding.UTF8; //保持和文件的编码格式一致
 p.Response.AddHeader("content-disposition", "filename=" + fileName);
 p.Response.WriteFile(inFilePath);
 p.Response.End();
 }

6. WordPreview.cs  Word预览类

7.Readme.txt  说明了基本功能及引用Com组件的方法(首先需要安装office),需引入的组件包括

  Microsoft Word 15.0
  Microsoft Excel 15.0

  预览效果

1、Word

2、Excel 

3、Pdf

4、Txt

未解决的问题

Pdf、txt文件只能在当前页显示,并导致后退键无效,请各位帮忙解决此两种文件和doc、xls一样在新的tab中打开

5.源码下载:http://xiazai.jb51.net/201612/yuanma/FilePreviewInBrowser_jb51.rar

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍直接在线预览Word、Excel、TXT文件之ASP.NET,包括了直接在线预览Word、Excel、TXT文件之ASP.NET的使用技巧和注意事项,需要的朋友参考一下 具体实现过程不多说了,直接贴代码了。 以上就是针对直接在线预览word、excel、text、pdf文件的全部内容,希望大家喜欢。

  • 本文向大家介绍C#导出pdf的实现方法(浏览器不预览直接下载),包括了C#导出pdf的实现方法(浏览器不预览直接下载)的使用技巧和注意事项,需要的朋友参考一下 前言 这篇文章主要给大家介绍了关于C#导出pdf的实现方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下: 一.接口部分的代码 二.返回pdfbyte数组 1.下载http模式的pdf文件(以ASP.NET为例,

  • 本文向大家介绍iOS实现PDF文件浏览功能,包括了iOS实现PDF文件浏览功能的使用技巧和注意事项,需要的朋友参考一下 写了一个小Demo,显示本地PDF格式文件,支持翻页、跳页、缩放。  先看一下效果图: iOS开发,显示PDF格式文件方法有很多: 最简单的应该是UIWebView,可以加载本地或网络PDF文件,支持上下滑动浏览、缩放。 优化一点的是用系统的QLPreviewController

  • 预览 在编辑器工具栏上选择 浏览器 后,点击旁边的按钮,会在用户的默认桌面浏览器中直接运行游戏的网页版本。推荐使用谷歌浏览器(Chrome)作为开发过程中预览调试用的浏览器,因为谷歌浏览器(Chrome)的开发者工具是最为全面强大的。 浏览器预览界面的最上边有一系列控制按钮可以对预览效果进行控制: 最左边选择预览窗口的比例大小,来模拟在不同移动设备上的显示效果 Rotate 按钮决定显示横屏还是竖

  • 本文向大家介绍drag-and-drop实现图片浏览器预览,包括了drag-and-drop实现图片浏览器预览的使用技巧和注意事项,需要的朋友参考一下 今天刚试过chrome的drag and drop API,它能非常简单的将本地的图片放到浏览器中进行预览。试想一下当我们把一个文图片拖拽到浏览器里会发生什么事情,你的浏览器试图打开一个新的页面并加载这个图片。现在我不想浏览器这样帮我处理图片,我希

  • 本文向大家介绍JAVA读取文件流,设置浏览器下载或直接预览操作,包括了JAVA读取文件流,设置浏览器下载或直接预览操作的使用技巧和注意事项,需要的朋友参考一下 最近项目需要在浏览器中通过URL预览图片。但发现浏览器始终默认下载,而不是预览。研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注释掉,浏览器会默认预览。 respons