JSONToExcelConvertor.js

function JSONToExcelConvertor(JSONData, FileName,title,filter) {

if(!JSONData)

return;

//转化json为object

var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;

var excel = "<table>";

//设置表头

var row = "<tr>";

if(title)

{

//使用标题项

for (var i in title) {

row += "<th align='center'>" + title[i] + '</th>';

}

}

else{

//不使用标题项

for (var i in arrData[0]) {

row += "<th align='center'>" + i + '</th>';

}

}

excel += row + "</tr>";

//设置数据

for (var i = 0; i < arrData.length; i++) {

var row = "<tr>";

for (var index in arrData[i]) {

//判断是否有过滤行

if(filter)

{

if(filter.indexOf(index)==-1)

{

var value = arrData[i][index] == null ? "" : arrData[i][index];

row += '<td>' + value + '</td>';

}

}

else

{

var value = arrData[i][index] == null ? "" : arrData[i][index];

row += "<td align='center'>" + value + "</td>";

}

}

excel += row + "</tr>";

}

excel += "</table>";

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;

excelFile += "</body>";

excelFile += "</html>";

var uri = 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(excelFile);

var link = document.createElement("a");

link.href = uri;

link.style = "visibility:hidden";

link.download = FileName + ".xls";

document.body.appendChild(link);

link.click();

document.body.removeChild(link);

}

调用:

$("#siteDown").click(function () {

//自定义标题栏

var title=['站点编码','站点名称']

//自定义过滤栏(不需要导出的行)

// var filter=['id','logins'];

var filter=[];

//原始导出

// JSONToExcelConvertor(data3,"report");

//自定义导出

JSONToExcelConvertor(siteJson,"申请站点",title,filter);

})

js json转excel并下载相关推荐

  1. python图片压缩pako_前端pako.js的 解压, json 转excel文件 下载

    背景: 后台 返回:gzip压缩后进行了base64编码的字符串. 解决办法 >引入pako.js ,xlsx >定义解压和压缩的方法 import XLSX from 'xlsx' co ...

  2. js json转excel

    本人在网上查找前台json转excel.结果大多都是json转scv.(不知道google结果怎么样) 结果试了下导出之后用excel打开中文还是乱码. 最后还是参考tableExport.jquer ...

  3. JS JQuery 操作: Json转 Excel 下载文件

    方法的调用 var json = '[' + '{"申请流水号":"123456","保险公司":"测试数据",&quo ...

  4. 利用js-xlsx.js插件实现Excel文件导入并解析Excel数据成json数据格式

    <!--本文转载于网络,有太多一样的文章,不知道原作者是哪位了,就不注明出处了.这里记载下来,用于自己的学习借鉴--><!DOCTYPE html><html lang= ...

  5. vue 电子表格Excel的上传导入、导出下载、读取本地Excel、json转Excel

    上传导入Excel 安装插件 npm install xlsx main.js中 // 导入excel插件 import XLSX from 'xlsx' Vue.prototype.$XLSX = ...

  6. js中json转excel

    1.利用xlsx插件 var arrData = json.excel_lists; var data= []; //js对象转为数组 for (var i in arrData) {var item ...

  7. js 导出excel,设置下载的标题

    在网上找到了js导出为excel的方法,可就是找不到如何修改导出的excel标题的方式,找到了如下的网站: 参考国外的网站:http://stackoverflow.com/questions/171 ...

  8. Json转为Excel文件导出下载

    JSON转Excel导出 1. 先写界面,一个输入框,一个打印按钮,一个清空输入框按钮 我用的是layui框架,随便用啥都行 <div class="mb_l">< ...

  9. JS 上传CSV转JSON | JSON数据转CSV下载 | 数组转CSV

    ⏹转换方法来源: https://www.30secondsofcode.org/js/s/csv-to-json https://www.30secondsofcode.org/js/s/array ...

  10. js将json转换为Excel并导出

    安装XLSX npm i xlsx 创建json2Excel.js工具函数并导出 内容代码引用自思否文章json转Excel且有些许修改 import XLSX from 'xlsx' functio ...

最新文章

  1. 服务器不响应Ajax,web前端:解决在IE11浏览器下,JQuery的AJAX方法不响应问题
  2. STM32开发 -- md5sum命令
  3. tftp c++ 上传_如何在 Fedora 上建立一个 TFTP 服务器
  4. ConditionObject源码
  5. MinIO Server config.json (v18) 指南
  6. 召唤AI大神与病毒作战!Kaggle发起CORD-19数据集文本挖掘竞赛
  7. linux下文件时间戳
  8. Java函数式编程详解
  9. 程序员试用期被裁,只给半个月赔偿
  10. android短信验证码免费版,短信验证码功能-免费哦!亲测可用
  11. java实现与图灵机器人聊天_调用图灵机器人API实现简单聊天
  12. 【IT职场】2013中国IT领袖峰会马云演讲实录
  13. matlab研究微分方程,基于MATLAB的微分方程求解电路仿真实验研究与实现
  14. android流光字体实现,CSS实现字体流光/高光滑动
  15. 简单的哈夫曼树程序实现
  16. Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容...
  17. 百度盈利模式的弱点在哪里
  18. 音符起始点检测(音频节奏检测)(1)
  19. Linux 音频驱动(三) ASoC音频驱动之Codec驱动
  20. 在idea中创建maven工程,搭建spring MVC框架,完成和servlet相似的操作

热门文章

  1. 雅虎团队经验:网站页面性能优化的 34条
  2. sca60c使用程序_第3部分:SCA应用程序的工作负载平衡的WebSphere MQ客户端连接
  3. 解决网站开通https后地址栏图标小锁变成灰色警告图标教程
  4. VS2012+ArcGIS Engine10.2安装教程
  5. [Openstack] 使用heat模板创建stack
  6. FPGA实现SPI 协议
  7. 适用mac微信用户的免登陆多开防撤回插件-WeChatTweak
  8. 度分秒换算题及答案C语言,度分秒的换算题(度分秒计算100题及答案)
  9. 微信公众号定位显示EC-01G模组+STM32F103
  10. JavaScript表单验证年龄