直接在線預(yù)覽Word、Excel、TXT文件之ASP.NET
更新時(shí)間:2015年08月04日 10:46:57 作者:秋荷雨翔
這篇文章主要用asp.net技術(shù)實(shí)現(xiàn)直接在線預(yù)覽word、excel、txt文件,有需要的朋友可以參考下
具體實(shí)現(xiàn)過(guò)程不多說(shuō)了,直接貼代碼了。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Microsoft.Office.Interop.Excel; using System.Diagnostics; using System.IO; using Microsoft.Office.Interop.Word; namespace Suya.Web.Apps.Areas.PMP.Controllers { /// <summary> /// 在線預(yù)覽Office文件 /// </summary> public class OfficeViewController : Controller { #region Index頁(yè)面 /// <summary> /// Index頁(yè)面 /// </summary> /// <param name="url">例:/uploads/......XXX.xls</param> public ActionResult Index(string url) { string physicalPath = Server.MapPath(Server.UrlDecode(url)); string extension = Path.GetExtension(physicalPath); string htmlUrl = ""; switch (extension.ToLower()) { case ".xls": case ".xlsx": htmlUrl = PreviewExcel(physicalPath, url); break; case ".doc": case ".docx": htmlUrl = PreviewWord(physicalPath, url); break; case ".txt": htmlUrl = PreviewTxt(physicalPath, url); break; case ".pdf": htmlUrl = PreviewPdf(physicalPath, url); break; } return Redirect(Url.Content(htmlUrl)); } #endregion #region 預(yù)覽Excel /// <summary> /// 預(yù)覽Excel /// </summary> public string PreviewExcel(string physicalPath, string url) { Microsoft.Office.Interop.Excel.Application application = null; Microsoft.Office.Interop.Excel.Workbook workbook = null; application = new Microsoft.Office.Interop.Excel.Application(); object missing = Type.Missing; object trueObject = true; application.Visible = false; application.DisplayAlerts = false; workbook = application.Workbooks.Open(physicalPath, 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; string htmlName = Path.GetFileNameWithoutExtension(physicalPath) + ".html"; String outputFile = Path.GetDirectoryName(physicalPath) + "\\" + htmlName; workbook.SaveAs(outputFile, format, missing, missing, missing, missing, XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing); workbook.Close(); application.Quit(); return Path.GetDirectoryName(Server.UrlDecode(url)) + "\\" + htmlName; } #endregion #region 預(yù)覽Word /// <summary> /// 預(yù)覽Word /// </summary> public string PreviewWord(string physicalPath, string url) { Microsoft.Office.Interop.Word._Application application = null; Microsoft.Office.Interop.Word._Document doc = null; application = new Microsoft.Office.Interop.Word.Application(); object missing = Type.Missing; object trueObject = true; application.Visible = false; application.DisplayAlerts = WdAlertLevel.wdAlertsNone; doc = application.Documents.Open(physicalPath, missing, trueObject, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); //Save Excel to Html object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML; string htmlName = Path.GetFileNameWithoutExtension(physicalPath) + ".html"; String outputFile = Path.GetDirectoryName(physicalPath) + "\\" + htmlName; doc.SaveAs(outputFile, format, missing, missing, missing, missing, XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing); doc.Close(); application.Quit(); return Path.GetDirectoryName(Server.UrlDecode(url)) + "\\" + htmlName; } #endregion #region 預(yù)覽Txt /// <summary> /// 預(yù)覽Txt /// </summary> public string PreviewTxt(string physicalPath, string url) { return Server.UrlDecode(url); } #endregion #region 預(yù)覽Pdf /// <summary> /// 預(yù)覽Pdf /// </summary> public string PreviewPdf(string physicalPath, string url) { return Server.UrlDecode(url); } #endregion } }
以上就是針對(duì)直接在線預(yù)覽word、excel、text、pdf文件的全部?jī)?nèi)容,希望大家喜歡。
您可能感興趣的文章:
- ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實(shí)例
- asp.net生成Excel并導(dǎo)出下載五種實(shí)現(xiàn)方法
- ASP.NET操作EXCEL的總結(jié)篇
- .NET讀取Excel文件的三種方法的區(qū)別
- ASP.NET(C#)讀取Excel的文件內(nèi)容
- asp.net使用npoi讀取excel模板并導(dǎo)出下載詳解
- Asp.Net使用Npoi導(dǎo)入導(dǎo)出Excel的方法
- asp.net中EXCEL數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)的方法
- ASP.NET導(dǎo)出Excel打開時(shí)提示:與文件擴(kuò)展名指定文件不一致解決方法
- .Net Core使用OpenXML導(dǎo)出、導(dǎo)入Excel
相關(guān)文章
C#判斷程序是否是管理員權(quán)限運(yùn)行的方法代碼示例
這篇文章主要介紹了C#判斷程序是否是管理員權(quán)限運(yùn)行的方法代碼示例,本文直接給出實(shí)現(xiàn)代碼例子,需要的朋友可以參考下2015-03-03c# asp .net 動(dòng)態(tài)創(chuàng)建sql數(shù)據(jù)庫(kù)表的方法
c# asp .net 動(dòng)態(tài)創(chuàng)建sql數(shù)據(jù)庫(kù)表的方法,需要的朋友可以參考一下2013-04-04C#事件標(biāo)準(zhǔn)命名規(guī)則及說(shuō)明(包括用作事件類型的委托命名)
這篇文章主要介紹了C#事件標(biāo)準(zhǔn)命名規(guī)則及說(shuō)明(包括用作事件類型的委托命名),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02C#特性-迭代器(上)及一些研究過(guò)程中的副產(chǎn)品
這篇文章主要介紹了C#特性-迭代器(上)及一些研究過(guò)程中的副產(chǎn)品,需要的朋友可以參考下2014-12-12