json文件转换成xlsx文件

//node-xlsx.js [ 建议复制代码 粘贴成.js文件看]

var nodeXlsx = require('node-xlsx');

var fs = require('fs');

var sheet = []; //表头

var data = []

var item = 'armor';

var fn = './dataConfig/'+item+'.json';

var readJson = function(filename,cb){

var result;

fs.exists(filename, function(exists) {

if (exists) {

fs.readFile(filename, function(err, data) {

if (err) {

cb();

} else{

result = JSON.parse(data);

cb(result);

}

});

} else {

cb();

}

});

}

readJson(fn,function(data){

if(!!data && data.length > 0){

if(!sheet[item]){

sheet[item] = {sheet : [],value :[]};

}

var first = data[0];

for(var key in first){

sheet[item].sheet.push(key);

}

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

var value = data[i];

for(var key in value){

if(!sheet[item].value[i]){

sheet[item].value[i] = [];

}

sheet[item].value[i].push(value[key]);

}

}

}

sheet[item].value.unshift(sheet[item].sheet);

var fileSheet = sheet[item].value;

console.log('fileSheet:',fileSheet);

var resultFN = './xlsx/'+item+'.xlsx';

if (fs.existsSync(resultFN)) {

fs.unlinkSync(resultFN);

}

var obj = {"worksheets": [

{"data": fileSheet}

]};

var file = nodeXlsx.build(obj);

fs.writeFile(resultFN, file, 'binary', function (err) {

if (!err){

console.log('保存文件成功!');

} else {

console.log(err);

}

});

});


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 10,802评论 0 7
  • 文件系统模块是一个封装了标准的 POSIX 文件 I/O 操作的集合。通过require('fs')使用这个模块。...
    保川阅读 4,204评论 0 0
  • 01.{ 换行: Opening Brace Can't Be Placed on a Separate Lin...
    码农不器阅读 7,001评论 0 14
  • 又长又强。 艾莉丝感觉自己很慌张。 包括大脑,都慌张得不知道想什么好。 伊薇竟然没来! 她坐在伦敦刺客总部的半地下...
    天明朝阳Glorfindel阅读 3,459评论 0 1
  • 思念,是痛苦,也是一种快乐;思念,是一杯苦咖啡,也是一杯醇厚的美酒;思念,是秋风中的落叶,也是春天艳丽的...
    童心_8c86阅读 4,140评论 2 6