• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

http://www.cnblogs.com/gossip/p/3473024.html

 
  • 功能说明
    1. 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome)、IE9/10、Firefox通过
  • 分类文件及代码说明 
    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 
  • 预览效果 
    1、Word 

    2、Excel 
     
    3、Pdf 

    4、Txt 
  • 未解决的问题
    1. Pdf、txt文件只能在当前页显示,并导致后退键无效,请各位帮忙解决此两种文件和doc、xls一样在新的tab中打开
  • 源码下载
  •  
    AspNet
     
    1. 功能说明
      1. 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome)、IE9/10、Firefox通过
    2. 分类文件及代码说明 
      1. DemoFiles 存放可测试文件
      2. 该文章已有0人参与评论

        请发表评论

        全部评论

        上一篇:
        《ASP.NETWebAPI2框架揭秘》发布时间:2022-07-10
        下一篇:
        关于AJAX跨域调用ASP.NETMVC或者WebAPI服务的问题及解决方案发布时间:2022-07-10
        热门推荐
        热门话题
        阅读排行榜

        扫描微信二维码

        查看手机版网站

        随时了解更新最新资讯

        139-2527-9053

        在线客服(服务时间 9:00~18:00)

        在线QQ客服
        地址:深圳市南山区西丽大学城创智工业园
        电邮:jeky_zhao#qq.com
        移动电话:139-2527-9053

        Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap