手机
当前位置:查字典教程网 >编程开发 >C#教程 >直接在线预览Word、Excel、TXT文件之ASP.NET
直接在线预览Word、Excel、TXT文件之ASP.NET
摘要:具体实现过程不多说了,直接贴代码了。usingSystem;usingSystem.Collections.Generic;usingSys...

具体实现过程不多说了,直接贴代码了。

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> /// 在线预览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 预览Excel /// <summary> /// 预览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 预览Word /// <summary> /// 预览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 预览Txt /// <summary> /// 预览Txt /// </summary> public string PreviewTxt(string physicalPath, string url) { return Server.UrlDecode(url); } #endregion #region 预览Pdf /// <summary> /// 预览Pdf /// </summary> public string PreviewPdf(string physicalPath, string url) { return Server.UrlDecode(url); } #endregion } }

以上就是针对直接在线预览word、excel、text、pdf文件的全部内容,希望大家喜欢。

【直接在线预览Word、Excel、TXT文件之ASP.NET】相关文章:

C# BackgroundWorker组件学习入门介绍

C#连接db2数据库的实现方法

C# WinForm程序完全退出的问题解决

C# 邮件发送和接收实现代码

c#对字符串操作的技巧小结

使用c#在word文档中创建表格的方法详解

C# DataSet的内容写成XML时如何格式化字段数据

C#中按引用传递与按值传递的区别,以及ref与out关键字的用法详解

C# 排序算法之堆排序

C#委托初级使用的实例代码

精品推荐
分类导航