方法的调用

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

json转excel 下载 方法#


function JSONToExcelConvertor(fileName, jsonData) {
///<summary>json转excel下载</summary>
///<param name="fileName">文件名</param>
///<param name="jsonData">数据</param> //json
var arrData = typeof jsonData != 'object' ? JSON.parse(jsonData) : jsonData; // #region 拼接数据 var excel = '<table>'; //设置表头
var row = "<tr>"; for (var name in arrData[0]) {
//每个单元格都可以指定样式. eg color:red 生成出来的就是 红色的字体了.
row += "<td style='color:red;text-align:center;'>" + name + '</td>';
} //列头结束
excel += row + "</tr>"; //设置数据
for (var i = 0; i < arrData.length; i++) { var row = "<tr>";
for (var index in arrData[i]) { var value = arrData[i][index] === "." ? "" : arrData[i][index]; row += '<td style="text-align:center;">' + value + '</td>';//将值放入td
}
//将td 放入tr,将tr放入table
excel += row + "</tr>";
}
//table结束
excel += "</table>"; // #endregion // #region 拼接html 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'>";
excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';
excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel';
excelFile += '; charset=UTF-8">';
excelFile += "<head>";
excelFile += "<!--[if gte mso 9]>";
excelFile += "<xml>";
excelFile += "<x:ExcelWorkbook>";
excelFile += "<x:ExcelWorksheets>";
excelFile += "<x:ExcelWorksheet>";
excelFile += "<x:Name>";
excelFile += "{worksheet}";
excelFile += "</x:Name>";
excelFile += "<x:WorksheetOptions>";
excelFile += "<x:DisplayGridlines/>";
excelFile += "</x:WorksheetOptions>";
excelFile += "</x:ExcelWorksheet>";
excelFile += "</x:ExcelWorksheets>";
excelFile += "</x:ExcelWorkbook>";
excelFile += "</xml>";
excelFile += "<![endif]-->";
excelFile += "</head>";
excelFile += "<body>";
excelFile += excel;//将table 拼接
excelFile += "</body>";
excelFile += "</html>"; // #endregion var uri = 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(excelFile); //创建a标签
var link = document.createElement("a");
//指定url
link.href = uri;
//设置为隐藏
link.style = "visibility:hidden";
//指定文件名和文件后缀格式
link.download = fileName + ".xls";
//追加a标签
document.body.appendChild(link);
//触发点击事件
link.click();
//移除a标签
document.body.removeChild(link);
}

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. iOS - 回顾总结Runtime原理及使用

    runtime简介 因为Objc是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到运行时.也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的 ...

  2. BKP和RTC

    Stm32内部有多个BKP寄存器,在主电源被切断或者系统产生复位的时候,BKP寄存器仍然可以利用备用电源的支持保持其重要内容. BKP在实际应用中可以存入重要数据,防止被恶意查看. BKP有入侵检测, ...

  3. 【postman】postman使用教程

    postman基础功能 一.变量设置 编写的API往往需要在多个环境下执行,而Postman 提供了两种类型的变量:环境变量和全局变量,从而很好的解决了这个问题.同时变量还常用于关联接口间的参数传递. ...

  4. Redis for C#

    ServiceStack.Redis 初识Redis时接触到的.Net-Redis组件是 ServiceStack.Redis,其V3系列的最新版本是:ServiceStack.Redis.3.9.2 ...

  5. SQL SERVER-孤立用户

    --SQL SERVER用户管理分为两层,实例级的login和数据库级的用户 --login的SID和数据库用户的SID必须一样才行 --数据库搬迁login在重建时生成新的sid,与原来数据库的用户 ...

  6. java steam List指定字段去重

    如:角色去重处理 baseRoleList = baseRoleList.stream().collect(Collectors.collectingAndThen(Collectors.toColl ...

  7. Windows 在 git bash下使用 conda 命令

    1. 安装git 安装连接:http://git-scm.com/download/linux (LINUX) https://git-scm.com/downloads  (Windows) 2. ...

  8. linux网络编程之socket编程(六)

    经过一个国庆长假,又有一段时间没有写博文了,今天继续对linux网络编程进行学习,如今的北京又全面进入雾霾天气了,让我突然想到了一句名句:“真爱生活,珍惜生命”,好了,言归正传. 回顾一下我们之间实现 ...

  9. Bcompare 提示 “这个授权密钥已被吊销” 解决方法

    Bcompare 提示 “这个授权密钥已被吊销” 解决方法 打开文件夹 %appdata%\Scooter Software 找到相应的版本,例如 Beyond Compare 3 删除里面的 BCS ...

  10. js 异步执行顺序

    参考文章: js 异步执行顺序   1.js的执行顺序,先同步后异步 2.异步中任务队列的执行顺序: 先微任务microtask队列,再宏任务macrotask队列 3.调用Promise 中的res ...