Asp.net實現(xiàn)直接在瀏覽器預(yù)覽Word、Excel、PDF、Txt文件(附源碼)
- 功能說明 輸入文件路徑,在瀏覽器輸出文件預(yù)覽信息,經(jīng)測試360極速(Chrome)、IE9/10、Firefox通過 分類文件及代碼說明 DemoFiles 存放可測試文件 Default.aspx 啟動頁
- ExcelPreview.cs Excel預(yù)覽類
- public static void Priview(System.Web.UI.Page p, string inFilePath, string outDirPath = '')
word-spacing:="/" /> { word-spacing:="/" /> 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(); }
- PDfPreview.cs Pdf預(yù)覽類
1. public static void Priview(System.Web.UI.Page p, string inFilePath)
2. {
3. p.Response.ContentType = 'Application/pdf' ;
4. string fileName = inFilePath.Substring(inFilePath.LastIndexOf( '' ) + 1 );
5. p.Response.AddHeader( 'content-disposition' , 'filename=' + fileName);
6. p.Response.WriteFile(inFilePath);
7. p.Response.End();
8. }
TextFilePreview.cs 文本文件預(yù)覽類
01. public static void Preview(System.Web.UI.Page p, string inFilePath)
02. {
03. string fileName = inFilePath.Substring(inFilePath.LastIndexOf( '' ) + 1 );
04. p.Response.ContentType = 'text/plain' ;
05. p.Response.ContentEncoding = System.Text.Encoding.UTF8;
06. p.Response.AddHeader( 'content-disposition' , 'filename=' + fileName);
07. p.Response.WriteFile(inFilePath);
08. p.Response.End();
09. }
WordPreview.cs Word預(yù)覽類 Readme.txt 說明了基本功能及引用Com組件的方法(首先需要安裝office),需引入的組件包括 Microsoft Word 15.0 Microsoft Excel 15.0 預(yù)覽效果 1、Word
2、Excel
3、Pdf
4、Txt
-
- 未解決的問題 Pdf、txt文件只能在當前頁顯示,并導(dǎo)致后退鍵無效,請各位幫忙解決此兩種文件和doc、xls一樣在新的tab中打開
|