方法的调用

  1. var json =
  2. '[' +
  3. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  4. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  5. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  6. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  7. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  8. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  9. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  10. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  11. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"},' +
  12. '{"申请流水号":"123456","保险公司":"测试数据","发票抬头":"测试数据","发票金额":4,"联系人":"小明","联系人手机号":"1234563333","申请状态":"开票成功"}' +
  13. ']';
  14. ar dataJson = JSON.parse(json);
  15. /调用方法
  16. SONToExcelConvertor("我的excel",dataJson);

json转excel 下载 方法#


  1. function JSONToExcelConvertor(fileName, jsonData) {
  2. ///<summary>json转excel下载</summary>
  3. ///<param name="fileName">文件名</param>
  4. ///<param name="jsonData">数据</param>
  5. //json
  6. var arrData = typeof jsonData != 'object' ? JSON.parse(jsonData) : jsonData;
  7. // #region 拼接数据
  8. var excel = '<table>';
  9. //设置表头
  10. var row = "<tr>";
  11. for (var name in arrData[0]) {
  12. //每个单元格都可以指定样式. eg color:red 生成出来的就是 红色的字体了.
  13. row += "<td style='color:red;text-align:center;'>" + name + '</td>';
  14. }
  15. //列头结束
  16. excel += row + "</tr>";
  17. //设置数据
  18. for (var i = 0; i < arrData.length; i++) {
  19. var row = "<tr>";
  20. for (var index in arrData[i]) {
  21. var value = arrData[i][index] === "." ? "" : arrData[i][index];
  22. row += '<td style="text-align:center;">' + value + '</td>';//将值放入td
  23. }
  24. //将td 放入tr,将tr放入table
  25. excel += row + "</tr>";
  26. }
  27. //table结束
  28. excel += "</table>";
  29. // #endregion
  30. // #region 拼接html
  31. var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>";
  32. excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';
  33. excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel';
  34. excelFile += '; charset=UTF-8">';
  35. excelFile += "<head>";
  36. excelFile += "<!--[if gte mso 9]>";
  37. excelFile += "<xml>";
  38. excelFile += "<x:ExcelWorkbook>";
  39. excelFile += "<x:ExcelWorksheets>";
  40. excelFile += "<x:ExcelWorksheet>";
  41. excelFile += "<x:Name>";
  42. excelFile += "{worksheet}";
  43. excelFile += "</x:Name>";
  44. excelFile += "<x:WorksheetOptions>";
  45. excelFile += "<x:DisplayGridlines/>";
  46. excelFile += "</x:WorksheetOptions>";
  47. excelFile += "</x:ExcelWorksheet>";
  48. excelFile += "</x:ExcelWorksheets>";
  49. excelFile += "</x:ExcelWorkbook>";
  50. excelFile += "</xml>";
  51. excelFile += "<![endif]-->";
  52. excelFile += "</head>";
  53. excelFile += "<body>";
  54. excelFile += excel;//将table 拼接
  55. excelFile += "</body>";
  56. excelFile += "</html>";
  57. // #endregion
  58. var uri = 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(excelFile);
  59. //创建a标签
  60. var link = document.createElement("a");
  61. //指定url
  62. link.href = uri;
  63. //设置为隐藏
  64. link.style = "visibility:hidden";
  65. //指定文件名和文件后缀格式
  66. link.download = fileName + ".xls";
  67. //追加a标签
  68. document.body.appendChild(link);
  69. //触发点击事件
  70. link.click();
  71. //移除a标签
  72. document.body.removeChild(link);
  73. }

JS JQuery 操作: Json转 Excel 下载文件的更多相关文章

  1. 使用JS代码实现点击按钮下载文件

    有时候我们在网页上需要增加一个下载按钮,让用户能够点击后下载页面上的资料,那么怎样才能实现功能呢?这里有两种方法: 现在需要在页面上添加一个下载按钮,点击按钮下载文件. 题外话,这个下载图标是引用的 ...

  2. JS实现点击按钮,下载文件

    PS:本文说的,并非如何用js创建流.创建文件.实现下载功能. 而是说的:你已知一个下载文件的后端接口,前端如何请求该接口,实现点击按钮.下载文件到本地.(可以是zip啦.excel啦都是一样) 有两 ...

  3. Jquery无须浏览实现直接下载文件

    一.常用方式: 1.通常GET方式 后面带明文参数,不安全. window.location.href = 'http://localhost:1188/FileDownload.aspx?token ...

  4. js之操作JSON数据

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  5. JS中操作JSON总结

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  6. [转] jQuery 操作 JSON 数据

    jquery下json数组的操作用法实例: jquery中操作JSON数组的情况中遍历方法用的比较多,但用添加移除这些好像就不是太多了. 试过json[i].remove(),json.remove( ...

  7. js发送post请求,实现下载文件

    由于业务需求要下载文件的功能: <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...

  8. selenium3 + python - js&jquery操作处理

    # 推荐学习:https://www.w3school.com.cn/js/index.asp## 下面以简书登录&注册定位元素为例"""js定位 id name ...

  9. Xutils请求服务器json数据与下载文件

    String code_url = "https://ic.snssdk.com/user/mobile/send_code/v2/"; HttpUtils httpUtils = ...

随机推荐

  1. Windows下的Android Studio环境搭建、安装使用

    https://jingyan.baidu.com/article/20b68a88ff2ca4796cec6232.html https://blog.csdn.net/jklinux/articl ...

  2. node.js 微信开发2-消息回复、token获取、自定义菜单

    项目结构 >config/wechat.json 微信公众号的配置文件 >controllers/oauth.js 微信网页授权接口(下一篇再细讲讲) >controllers/we ...

  3. Lumen5.6使用JWT【最新教程】,亲身失败百次的总结

    一.前言 如果需要使用 Passport,可以参考在下之前的教程: 'Lumen5.4配置OAuth2.0[强迫症,就是要用最新版本的Lumen]' . 由于原作者文档的简洁性,同时 Lumen 下的 ...

  4. [转]理解Linux的性能

    来源:http://www.linuxfly.org/post/114/ [转]理解Linux的性能       项目中常遇到需要对目前运行的系统进行效率分析,或碰到客户咨询如何优化系统的效率问题.更 ...

  5. Android笔记(十三) Android中的基本组件——文本

    Android中常用的文本组件有 普通文本框(TextView)和编辑框(EditText)两种 EditText是TextView的子类,作用就是在界面上显示文本,区别是EditText允许用户编辑 ...

  6. 剖析.o文件ELF组成

    ELF文件结构组成 ①总共13个节 ②每个节都有一个编号.从ELF头开始编号,编号从0开始,编号的作用就是用来索引(找到)不同节的. ③每个.o的都是这样的结构.链接时要做的就是,将ELF格式的.o全 ...

  7. 静态链接 VS 动态链接

    什么是链接? 链接其实就是连接的意思,将所有相关的东西连接起来. 简单理解静态连接和动态链接: 静态链接:编译时完成链接 动态链接:程序运行起来后,根据需求再去链接,这就是动态链接 静态链接 什么是静 ...

  8. python小知识点汇总

    一 写mysql 场景:自动化用例中需要构造数据,写入redis 表中已有该primary_key的记录,在现有基础上更新字段 表中无该记录,需要插入 # 请求传入table字段,db.table,c ...

  9. Markdown 语法介绍

    Markdown 语法介绍 from:https://coding.net/help/doc/project/markdown.html 文章内容 1 Markdown 语法介绍 1.1 标题 1.2 ...

  10. 线性查找与二分查找(python)

    # -*- coding: utf-8 -*- number_list = [0, 1, 2, 3, 4, 5, 6, 7] def linear_search(value, iterable): f ...