【MVC】 页面导出 WORD, EXCEL

前端 js

  1. function output() {
  2. var para = new Object();
  3. para.html = getHtml("outputData");
  4. para.type = "excel";
  5. getAjaxText("/Test/SaveData", para, function (data) {
  6. if (data != "") {
  7. openWindow(stringFormat("/Test/Output?id={0}&type={1}&title={2}", data, para.type, "ceshi"));
  8. }
  9. });
  10. }

后端 Action

  1. public ActionResult Output(string id, string title, string type)
  2. {
  3. var path = GetFilePath(id, type);
  4. if (!System.IO.File.Exists(path))
  5. {
  6. return Redirect("/Error/Index");
  7. }
  8. Response.ContentEncoding = Encoding.GetEncoding("gb2312");
  9. var byteArray = System.IO.File.ReadAllBytes(path);
  10. return File(byteArray, "application/ms-" + type, title + GetType(type));
  11. }
  12.  
  13. [ValidateInput(false)]
  14. public ActionResult SaveData(string html, string type)
  15. {
  16. var sb = new StringBuilder();
  17. sb.Append("<!DOCTYPE html>");
  18. sb.Append("<body>");
  19. sb.Append(html);
  20. sb.Append("</body>");
  21. var byteArray = Encoding.Default.GetBytes(sb.ToString());
  22. var guid = Guid.NewGuid();
  23. System.IO.File.WriteAllBytes(GetFilePath(guid.ToString(), type), byteArray);
  24. return Content(guid.ToString());
  25. }
  26.  
  27. private static string GetType(string type)
  28. {
  29. if (type.ToLower().Trim() == "word")
  30. {
  31. return ".doc";
  32. }
  33. return ".xls";
  34. }

MS Excel 导出

  1. public class ExcelHelper
  2. {
  3. public static void ExportExcel(DataTable dt, bool noColumn = false)
  4. {
  5. if (dt == null || dt.Rows.Count == 0) return;
  6.  
  7. var xlApp = new Microsoft.Office.Interop.Excel.Application();
  8.  
  9. Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
  10.  
  11. Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
  12.  
  13. Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
  14. if (!noColumn)
  15. {
  16. for (int i = 0; i < dt.Columns.Count; i++)
  17. {
  18. worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
  19. var range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, i + 1];
  20. range.Interior.ColorIndex = 15;
  21. range.Font.Bold = true;
  22. }
  23. }
  24.  
  25. for (int r = 0; r < dt.Rows.Count; r++)
  26. {
  27. for (int i = 0; i < dt.Columns.Count; i++)
  28. {
  29. worksheet.Cells[r + 2, i + 1] = dt.Rows[r][i].ToString();
  30. }
  31. }
  32. xlApp.Visible = true;
  33. }
  34. }

  

【MVC】 非常简单的页面导出 WORD, EXCEL方法的更多相关文章

  1. 导出word excel 方法

    ---导出excel public static void DataTableToExcelXjd(DataTable dt, string Title, string TmpColsName) { ...

  2. 记录集导出到Excel方法

    记录集导出到Excel方法   Public Function ExportToExcel(RSrecord As ADODB.Recordset, Titles_Name)'============ ...

  3. 网页内容导出word/excel的js代码

    IE设置: 工具-> Internet选项-> 安全->自定义级别-> 对没有标记安全级别的ActiveX控件进行初始化  设为启用! 1.导出word //指定区域导出到Wo ...

  4. MVC 将视图页table导出成excel

    前台代码: <table class="tablelist" id="myTable">    <thead>        <t ...

  5. Spring MVC 通过反射将数据导出到excel

    直接上代码 // 导出excel方法 @RequestMapping("exportExcel") public void exportExcel(HttpServletReque ...

  6. 如何将html页面导出word格式?

    近期做的项目也是奇葩,页面上需要导出excel,pdf,还有导出图片等...,刚把前几个怂好,还有下载成word文件,如何处理? function getOutword (id, fileName) ...

  7. html页面导出word文档

    1.加入两个外部js 1)FileSaver.js /* FileSaver.js * A saveAs() FileSaver implementation. * 1.3.2 * 2016-06-1 ...

  8. web页面导出到Excel乱码解决

    引言: 前几天 在做web项目的时候 需要导出页面上的数据 到Excel里面 但有的时候出现乱码(有de时候不出现 很奇怪) 原来的代码是这样的: HttpContext.Current.Respon ...

  9. html页面导出为excel表格

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

随机推荐

  1. Squid configuration directives 3.0

    WELCOME TO SQUID 3.0.STABLE25-20100412 ---------------------------- This is the default Squid config ...

  2. 编译llvm+clang

    第一步,下载llvm代码: git clone git@github.com:llvm-mirror/llvm.git 第二步,进入llvm/tools目录并下载clang代码 cd llvm/too ...

  3. windows github 命令行使用

    1.下载git客户端工具,以下2个网站一样的https://git-for-windows.github.io/https://git-scm.com/download/win/ 2.初始化ssh-k ...

  4. <script>标签应该放到</body>标签之前

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:贺师俊 链接:http://www.zhihu.com/question/20027966/answer/13727164 ...

  5. SQL Server DBA日常查询视图_数据库对象视图

    1.数据库 use master; exec sp_helpdb 1.1查询数据库大小 1.2查询数据库状态 use msdb select name, user_access_desc, --用户访 ...

  6. [solr] - suggestion

    前文使用了SpellCheck做了个自动完成模拟(Solr SpellCheck),使用第一种SpellCheck方式做auto-complete,是基于动态代码方式建立内容,下面方式可通过读文件方式 ...

  7. HTML5能取代IOS原生应用吗

    介绍 移动应用程序(App)和HTML5都是目前最火的技术,二者之间也有不少重叠之处.在移动设备浏览器里运行的html5的web页面,也可以重新打包成不同平台上运行的app.目前很多浏览器都有很好的跨 ...

  8. yum安装rz和sz

    yum install lrzsz

  9. 1.注册或登录页面设计:UILabel,UIButton,UITextField

    学习iOS开发已经有一段时日了,之前一直没有系统的对iOS开发的相关知识进行归纳总结,导致很多知识点云里雾里在脑子里形不成iOS开发的思想,现将自己在学习过程中遇到的一些知识进行总结,希望能对iOS初 ...

  10. [CF442C] Artem and Array (贪心+单调栈优化)

    题目链接:http://codeforces.com/problemset/problem/442/C 题目大意:一个数列,有n个元素.你可以做n-2次操作,每次操作去除一个数字,并且得到这个数字两边 ...