直接在線預(yù)覽Word、Excel、TXT文件之ASP.NET
更新時間:2015年08月04日 10:46:57 作者:秋荷雨翔
這篇文章主要用asp.net技術(shù)實現(xiàn)直接在線預(yù)覽word、excel、txt文件,有需要的朋友可以參考下
具體實現(xiàn)過程不多說了,直接貼代碼了。
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頁面 /// <summary> /// Index頁面 /// </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 } }
以上就是針對直接在線預(yù)覽word、excel、text、pdf文件的全部內(nèi)容,希望大家喜歡。
您可能感興趣的文章:
- ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實例
- asp.net生成Excel并導(dǎo)出下載五種實現(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ù)庫的方法
- ASP.NET導(dǎo)出Excel打開時提示:與文件擴展名指定文件不一致解決方法
- .Net Core使用OpenXML導(dǎo)出、導(dǎo)入Excel
相關(guān)文章
c# asp .net 動態(tài)創(chuàng)建sql數(shù)據(jù)庫表的方法
c# asp .net 動態(tài)創(chuàng)建sql數(shù)據(jù)庫表的方法,需要的朋友可以參考一下2013-04-04C#事件標(biāo)準(zhǔn)命名規(guī)則及說明(包括用作事件類型的委托命名)
這篇文章主要介紹了C#事件標(biāo)準(zhǔn)命名規(guī)則及說明(包括用作事件類型的委托命名),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02