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)文章
JavaScript用JQuery呼叫Server端方法實(shí)現(xiàn)代碼與參考語(yǔ)法
從Javascript客戶端用JQuery呼叫Server端的方法,這也是一個(gè)大膽的嘗試,本人做了演示動(dòng)畫(huà)以及參考語(yǔ)法,感興趣的朋友可以參考下,希望本人對(duì)你有所幫助2013-01-01
解決ASP.NET中"/"應(yīng)用程序中的服務(wù)器錯(cuò)誤的方法
這篇文章主要介紹了解決ASP.NET中"/"應(yīng)用程序中的服務(wù)器錯(cuò)誤的方法,,需要的朋友可以參考下2016-03-03
ASP.NET Core中預(yù)壓縮靜態(tài)文件的方法步驟
這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何預(yù)壓縮靜態(tài)文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ASP.NET Core具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
詳解如何在ASP.NET Core中編寫(xiě)高效的控制器
這篇文章主要介紹了詳解如何在ASP.NET Core中編寫(xiě)高效的控制器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
ASP.NET實(shí)現(xiàn)上傳圖片并生成縮略圖的方法
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)上傳圖片并生成縮略圖的方法,提供了一個(gè)asp.net上傳圖片與生成縮略圖的方法,并給出了改進(jìn)程序供大家對(duì)比分析,需要的朋友可以參考下2015-12-12
.NET?Core分布式鏈路追蹤框架的基本實(shí)現(xiàn)原理
這篇文章介紹了.NET?Core分布式鏈路追蹤框架的基本實(shí)現(xiàn)原理,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
Visual studio 2017添加引用時(shí)報(bào)錯(cuò)未能正確加載ReferenceManagerPackage包的解決方法
這篇文章主要介紹了VS2017添加引用時(shí)報(bào)錯(cuò)未能正確加載ReferenceManagerPackage包的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04

