Asp.net實(shí)現(xiàn)直接在瀏覽器預(yù)覽Word、Excel、PDF、Txt文件(附源碼)
1.功能說(shuō)明
輸入文件路徑,在瀏覽器輸出文件預(yù)覽信息,經(jīng)測(cè)試360極速(Chrome)、IE9/10、Firefox通過(guò)
2.分類文件及代碼說(shuō)明
DemoFiles 存放可測(cè)試文件
Default.aspx 啟動(dòng)頁(yè)
ExcelPreview.cs Excel預(yù)覽類
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預(yù)覽類
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 文本文件預(yù)覽類
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預(yù)覽類
7.Readme.txt 說(shuō)明了基本功能及引用Com組件的方法(首先需要安裝office),需引入的組件包括
Microsoft Word 15.0
Microsoft Excel 15.0
預(yù)覽效果
1、Word
2、Excel
3、Pdf
4、Txt
未解決的問(wèn)題
Pdf、txt文件只能在當(dāng)前頁(yè)顯示,并導(dǎo)致后退鍵無(wú)效,請(qǐng)各位幫忙解決此兩種文件和doc、xls一樣在新的tab中打開(kāi)
5.源碼下載:http://xiazai.jb51.net/201612/yuanma/FilePreviewInBrowser_jb51.rar
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- C#實(shí)現(xiàn)pdf導(dǎo)出 .Net導(dǎo)出pdf文件
- ASP.NET實(shí)現(xiàn)將word文檔轉(zhuǎn)換成pdf的方法
- asp.net 按指定模板導(dǎo)出word,pdf實(shí)例代碼
- ASP.NET MVC 項(xiàng)目直接預(yù)覽PDF文件
- 詳解開(kāi)源免費(fèi)且穩(wěn)定實(shí)用的.NET PDF打印組件itextSharp(.NET組件介紹之八)
- asp.net實(shí)現(xiàn)將ppt文檔轉(zhuǎn)換成pdf的方法
- ASP.NET保存PDF、Word和Excel文件到數(shù)據(jù)庫(kù)
- 如何使用Rotativa在ASP.NET Core MVC中創(chuàng)建PDF詳解
相關(guān)文章
一個(gè)基于Asp.Net MVC的權(quán)限方案
最近這段時(shí)間博客園有幾位同學(xué)在探討通用的權(quán)限方案,偶閑來(lái)無(wú)事,也來(lái)湊湊熱鬧,下面簡(jiǎn)單說(shuō)一下我的簡(jiǎn)單解決方案,基于AOP的。由于使用了Asp.Net MVC 開(kāi)發(fā),可能需要先對(duì)MVC有些了解,思路都是差不多的。2010-02-02在ASP.Net中實(shí)現(xiàn)flv視頻轉(zhuǎn)換的代碼
在ASP.Net中實(shí)現(xiàn)flv視頻轉(zhuǎn)換的代碼...2007-09-09Xamarin渲染器移植到.NET?MAUI項(xiàng)目中
這篇文章介紹了Xamarin渲染器移植到.NET?MAUI項(xiàng)目中的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02aspnetcore 實(shí)現(xiàn)簡(jiǎn)單的偽靜態(tài)化功能
這篇文章主要介紹了aspnetcore 實(shí)現(xiàn)簡(jiǎn)單的偽靜態(tài)化功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07ASP.NET MVC自定義授權(quán)過(guò)濾器
這篇文章介紹了ASP.NET MVC自定義授權(quán)過(guò)濾器的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03asp.net Web.config 詳細(xì)配置說(shuō)明
asp.net開(kāi)發(fā)的朋友,經(jīng)常用得到web.config文件的配置,所以我們特整理了中文說(shuō)明。2009-06-06ADO調(diào)用分頁(yè)查詢存儲(chǔ)過(guò)程的實(shí)例講解
下面小編就為大家分享一篇ADO調(diào)用分頁(yè)查詢存儲(chǔ)過(guò)程的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12asp.net網(wǎng)站的404錯(cuò)誤頁(yè)面的正確設(shè)置方法
asp.net網(wǎng)站的404錯(cuò)誤頁(yè)面的正確設(shè)置方法,需要的朋友可以參考下。2010-05-05asp.net省市三級(jí)聯(lián)動(dòng)的DropDownList+Ajax的三種框架(aspnet/Jquery/ExtJs)示例
前段時(shí)間需要作一個(gè)的Web前端應(yīng)用,需要用多個(gè)框架,一個(gè)典型的應(yīng)用場(chǎng)景是省市三級(jí)聯(lián)動(dòng),基于此應(yīng)用,特將三種主要的ajax框架略作整理,方便有需要的朋友查閱。2010-06-06