java json转excel_JSON格式数据转Excel导出

function JSONToExcelConvertor(JSONData, FileName, ShowLabel) {

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

var excel = '

//设置表头

var row = "

";

for (var i = 0, l = ShowLabel.length; i < l; i++) {

row += "

" + ShowLabel[i].value + '';

}

//换行

excel += row + "

";

//设置数据

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

var row = "

";

for(var j=0;j

var value = arrData[i][j].value === "." ? "" : arrData[i][j].value;

row += '

' + value + '';

}

excel += row + "

";

}

excel += "

";

var excelFile = "";

excelFile += '';

excelFile += '';

excelFile += "

";

excelFile += "";

excelFile += "";

excelFile += "

";

excelFile += excel;

excelFile += "";

excelFile += "";

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);

}

var JSON_DATA = {

"title":[

{"value":"司机", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"日期", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"物流单数量", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"退货单数量", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"发货总件数", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"退货总件数", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"拒收总件数", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"取消发货总件数", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"物流费总金额    ", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"代收手续费总金额", "type":"ROW_HEADER_HEADER", "datatype":"string"},

{"value":"代收货款总金额", "type":"ROW_HEADER_HEADER", "datatype":"string"}

],

"data":[

]

};

第二种方法使用插件直接对json数据进行转换  插件 JsonExportExcel.min.js

1.引入js (dist目录下JsonExportExcel.min.js)

npm install -save js-export-excel

const ExportJsonExcel = require('js-export-excel')

2.js代码

48304ba5e6f9fe08f3fa1abda7d326ab.png

1 var option={};

2

3 option.fileName = 'excel'

4 option.datas=[

5 {

6 //第一个sheet

7 sheetData:[{one:'一行一列',two:'一行二列'},{one:'二行一列',two:'二行二列'}],

8 sheetName:'sheet',

9 sheetFilter:['two','one'],

10 sheetHeader:['第一列','第二列']

11 },

12 {

13 //第二个sheet

14 sheetData:[{one:'一行一列',two:'一行二列'},{one:'二行一列',two:'二行二列'}]

15 }

16 ];

17 var toExcel=new ExportJsonExcel(option);

18 toExcel.saveExcel();

48304ba5e6f9fe08f3fa1abda7d326ab.png

option

datas 数据

/*多个sheet*/ /*每个sheet为一个object */

[{ sheetData:[], // 数据

sheetName:'', // sheet名字

sheetFilter:[], //列过滤

sheetHeader:[] // 第一行

}]

fileName 下载文件名(默认:download)

sheet option

sheetName sheet名字(可有可无)(默认sheet1)

sheetHeader 标题(excel第一行数据)

sheetData 数据源(必须)

sheetFilter 列过滤(只有在data为object下起作用)(可有可无)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值