Code:
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingsystem.web;usingSYSTEM.WEB.MVC;usingMicrosoft.Office.Interop.Excel;usingSystem.Diagnostics;usingSystem.IO;usingMicrosoft.Office.Interop.Word;namespacesuya.web.apps.areas.pmp.controllers{/// <summary> ///Preview Office files online/// </summary> Public classOfficeviewcontroller:controller {#regionIndex page/// <summary> ///Index page/// </summary> /// <param name= "url" >Example:/uploads/... Xxx.xls</param> PublicActionResult Index (stringURL) { stringPhysicalPath =Server.MapPath (Server.urldecode (URL)); stringExtension =path.getextension (PhysicalPath); stringHtmlurl =""; 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; } returnRedirect (Url.content (Htmlurl)); } #endregion #regionPreview Excel/// <summary> ///Preview Excel/// </summary> Public stringPreviewexcel (stringPhysicalPath,stringURL) {Microsoft.Office.Interop.Excel.Application Application=NULL; Microsoft.Office.Interop.Excel.Workbook Workbook=NULL; Application=NewMicrosoft.Office.Interop.Excel.Application (); ObjectMissing =Type.Missing; ObjectTrueobject =true; Application. Visible=false; Application. DisplayAlerts=false; Workbook=application. Workbooks.Open (PhysicalPath, Missing, Trueobject, missing, missing, missing, missing, missing, missing, MIS Sing, missing, missing, missing, missing, missing); //Save Excel to Html ObjectFormat =Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml; stringHTMLName = 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 (); returnPath.getdirectoryname (Server.urldecode (URL)) +"\\"+HTMLName; } #endregion #regionPreview Word/// <summary> ///Preview Word/// </summary> Public stringPreviewword (stringPhysicalPath,stringURL) {microsoft.office.interop.word._application Application=NULL; Microsoft.office.interop.word._document Doc=NULL; Application=NewMicrosoft.Office.Interop.Word.Application (); ObjectMissing =Type.Missing; ObjectTrueobject =true; Application. Visible=false; Application. DisplayAlerts=Wdalertlevel.wdalertsnone; Doc=application. Documents.Open (PhysicalPath, Missing, Trueobject, missing, missing, missing, missing, missing, missing, MIS Sing, missing, missing, missing, missing, missing, missing); //Save Excel to Html ObjectFormat =Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML; stringHTMLName = 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 (); returnPath.getdirectoryname (Server.urldecode (URL)) +"\\"+HTMLName; } #endregion #regionPreview txt/// <summary> ///Preview txt/// </summary> Public stringPreviewtxt (stringPhysicalPath,stringURL) { returnserver.urldecode (URL); } #endregion #regionPreview PDF/// <summary> ///Preview PDF/// </summary> Public stringPreviewpdf (stringPhysicalPath,stringURL) { returnserver.urldecode (URL); } #endregion }}
View Code
ASP. NET MVC online preview of Excel, Word, TXT, PDF files