大家好,又见面了,我是你们的朋友全栈君。
这个是8月初做的,之前公司项目需要国际化,在项目本地会有两份json数据,一个中文的一个英文的,但是公司产品经理提供的数据是excel格式,需要我们自己转一次。最初几次数据量不大,一次50条左右,我都是手动的添加了几次,后来发现不行,每次这么 搞容易出错且比较耗时,就写了这么一个工具,使用起来效率倍增,启动运行一下这个项目,然后粘贴复制即可。
其实使用Node.js 把excel转成json很简单,就是使用node-xlsx这个npm包就可以了。
大致流程:
1.读取本地excel文件到变量暂存;
2.处理变量数据;(根据各自需求处理)
3.处理后的数据写入本地json文件
代码:
var xlsx = require("node-xlsx");
var fs = require('fs');
var list = xlsx.parse("add.xlsx"); // 需要 转换的excel文件
// 数据处理 方便粘贴复制
var data = list[0].data; // 1.读取json数据到变量暂存
var len = data.length;
var outData_cn = {
}; // 中文
var outData_us = {
}; // 英文
for(var i = 0; i < len; i ++){
// 2.数据处理
var item = data[i];
outData_cn[item[0]] = item[1];
outData_us[item[0]] = item[2];
}
var outData = {
cn: outData_cn,
us: outData_us
}
writeFile("all.json",JSON.stringify(outData)); // 输出的json文件 3.数据写入本地json文件
function writeFile(fileName,data)
{
fs.writeFile(fileName,data,'utf-8',complete); // 文件编码格式 utf-8
function complete(err)
{
if(!err)
{
console.log("文件生成成功"); // 终端打印这个 表示输出完成
}
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134064.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...