程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> Asp.net實現直接在浏覽器預覽Word、Excel、PDF、Txt文件(附源碼)

Asp.net實現直接在浏覽器預覽Word、Excel、PDF、Txt文件(附源碼)

編輯:ASP.NET基礎

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.源碼下載

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved