博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
阅读量:5961 次
发布时间:2019-06-19

本文共 2360 字,大约阅读时间需要 7 分钟。

  1. 功能说明
    1. 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome)、IE9/10、Firefox通过
  2. 分类文件及代码说明 
    1. DemoFiles 存放可测试文件
    2. Default.aspx  启动页
    3. 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),需引入的组件包括
      1. Microsoft Word 15.0
      2. Microsoft Excel 15.0
  3. 预览效果
    1、Word 
    2、Excel 
    3、Pdf 
    4、Txt
  4. 未解决的问题
    1. Pdf、txt文件只能在当前页显示,并导致后退键无效,请各位帮忙解决此两种文件和doc、xls一样在新的tab中打开

转载于:https://www.cnblogs.com/gossip/p/3473024.html

你可能感兴趣的文章
Phonegap Online和Offline
查看>>
软件设计
查看>>
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
Android 动态注册 亮屏、息屏广播
查看>>
NYOJ 题目77 开灯问题(简单模拟)
查看>>
15.6. HTML嵌入图片
查看>>
Could not find class 'XXX.activity‘', referenced from method 'YYYY'
查看>>
I.MX6Q MfgTool2 ucl2.xml eMMC
查看>>
[家里蹲大学数学杂志]第425期一个定积分的计算
查看>>
ASP.NET Web API 应用教程(一) ——数据流使用
查看>>
Python系列干货之Python与设计模式!
查看>>
C# iTextSharp 生成 PDF
查看>>
【中亦安图】Systemstate Dump分析经典案例(8)
查看>>
Template Method(模板方法)模式
查看>>
Dynamic proxy (good-原创)
查看>>
【Redis】Java之Redis工具类
查看>>
算法系列15天速成——第十一天 树操作(上)
查看>>
MySQL中游标使用以及读取文本数据
查看>>
Kubernetes部署的最佳安全实践
查看>>
理解C语言——从小菜到大神的晋级之路(8)——数组、指针和字符串
查看>>