【MVC】 非常简单的页面导出 WORD, EXCEL方法
【MVC】 页面导出 WORD, EXCEL
前端 js
- function output() {
- var para = new Object();
- para.html = getHtml("outputData");
- para.type = "excel";
- getAjaxText("/Test/SaveData", para, function (data) {
- if (data != "") {
- openWindow(stringFormat("/Test/Output?id={0}&type={1}&title={2}", data, para.type, "ceshi"));
- }
- });
- }
后端 Action
- public ActionResult Output(string id, string title, string type)
- {
- var path = GetFilePath(id, type);
- if (!System.IO.File.Exists(path))
- {
- return Redirect("/Error/Index");
- }
- Response.ContentEncoding = Encoding.GetEncoding("gb2312");
- var byteArray = System.IO.File.ReadAllBytes(path);
- return File(byteArray, "application/ms-" + type, title + GetType(type));
- }
- [ValidateInput(false)]
- public ActionResult SaveData(string html, string type)
- {
- var sb = new StringBuilder();
- sb.Append("<!DOCTYPE html>");
- sb.Append("<body>");
- sb.Append(html);
- sb.Append("</body>");
- var byteArray = Encoding.Default.GetBytes(sb.ToString());
- var guid = Guid.NewGuid();
- System.IO.File.WriteAllBytes(GetFilePath(guid.ToString(), type), byteArray);
- return Content(guid.ToString());
- }
- private static string GetType(string type)
- {
- if (type.ToLower().Trim() == "word")
- {
- return ".doc";
- }
- return ".xls";
- }
MS Excel 导出
- public class ExcelHelper
- {
- public static void ExportExcel(DataTable dt, bool noColumn = false)
- {
- if (dt == null || dt.Rows.Count == 0) return;
- var xlApp = new Microsoft.Office.Interop.Excel.Application();
- Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
- Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
- Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
- if (!noColumn)
- {
- for (int i = 0; i < dt.Columns.Count; i++)
- {
- worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
- var range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, i + 1];
- range.Interior.ColorIndex = 15;
- range.Font.Bold = true;
- }
- }
- for (int r = 0; r < dt.Rows.Count; r++)
- {
- for (int i = 0; i < dt.Columns.Count; i++)
- {
- worksheet.Cells[r + 2, i + 1] = dt.Rows[r][i].ToString();
- }
- }
- xlApp.Visible = true;
- }
- }
【MVC】 非常简单的页面导出 WORD, EXCEL方法的更多相关文章
- 导出word excel 方法
---导出excel public static void DataTableToExcelXjd(DataTable dt, string Title, string TmpColsName) { ...
- 记录集导出到Excel方法
记录集导出到Excel方法 Public Function ExportToExcel(RSrecord As ADODB.Recordset, Titles_Name)'============ ...
- 网页内容导出word/excel的js代码
IE设置: 工具-> Internet选项-> 安全->自定义级别-> 对没有标记安全级别的ActiveX控件进行初始化 设为启用! 1.导出word //指定区域导出到Wo ...
- MVC 将视图页table导出成excel
前台代码: <table class="tablelist" id="myTable"> <thead> <t ...
- Spring MVC 通过反射将数据导出到excel
直接上代码 // 导出excel方法 @RequestMapping("exportExcel") public void exportExcel(HttpServletReque ...
- 如何将html页面导出word格式?
近期做的项目也是奇葩,页面上需要导出excel,pdf,还有导出图片等...,刚把前几个怂好,还有下载成word文件,如何处理? function getOutword (id, fileName) ...
- html页面导出word文档
1.加入两个外部js 1)FileSaver.js /* FileSaver.js * A saveAs() FileSaver implementation. * 1.3.2 * 2016-06-1 ...
- web页面导出到Excel乱码解决
引言: 前几天 在做web项目的时候 需要导出页面上的数据 到Excel里面 但有的时候出现乱码(有de时候不出现 很奇怪) 原来的代码是这样的: HttpContext.Current.Respon ...
- html页面导出为excel表格
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
随机推荐
- Squid configuration directives 3.0
WELCOME TO SQUID 3.0.STABLE25-20100412 ---------------------------- This is the default Squid config ...
- 编译llvm+clang
第一步,下载llvm代码: git clone git@github.com:llvm-mirror/llvm.git 第二步,进入llvm/tools目录并下载clang代码 cd llvm/too ...
- windows github 命令行使用
1.下载git客户端工具,以下2个网站一样的https://git-for-windows.github.io/https://git-scm.com/download/win/ 2.初始化ssh-k ...
- <script>标签应该放到</body>标签之前
著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:贺师俊 链接:http://www.zhihu.com/question/20027966/answer/13727164 ...
- SQL Server DBA日常查询视图_数据库对象视图
1.数据库 use master; exec sp_helpdb 1.1查询数据库大小 1.2查询数据库状态 use msdb select name, user_access_desc, --用户访 ...
- [solr] - suggestion
前文使用了SpellCheck做了个自动完成模拟(Solr SpellCheck),使用第一种SpellCheck方式做auto-complete,是基于动态代码方式建立内容,下面方式可通过读文件方式 ...
- HTML5能取代IOS原生应用吗
介绍 移动应用程序(App)和HTML5都是目前最火的技术,二者之间也有不少重叠之处.在移动设备浏览器里运行的html5的web页面,也可以重新打包成不同平台上运行的app.目前很多浏览器都有很好的跨 ...
- yum安装rz和sz
yum install lrzsz
- 1.注册或登录页面设计:UILabel,UIButton,UITextField
学习iOS开发已经有一段时日了,之前一直没有系统的对iOS开发的相关知识进行归纳总结,导致很多知识点云里雾里在脑子里形不成iOS开发的思想,现将自己在学习过程中遇到的一些知识进行总结,希望能对iOS初 ...
- [CF442C] Artem and Array (贪心+单调栈优化)
题目链接:http://codeforces.com/problemset/problem/442/C 题目大意:一个数列,有n个元素.你可以做n-2次操作,每次操作去除一个数字,并且得到这个数字两边 ...