公司网站优化怎么做,家在深圳app下载官网,深圳网站建设有市场吗,工具类网站怎么优化seo有些场景我们需要将Excel文档中的内容抽取出来生成别的文件#xff0c;作为一个前端#xff0c;服务框架最应该熟悉的就是node了#xff0c;以下是基于多语言转换实现代码#xff0c;看明白原理自己改一改就能用了 1.安装node环境 2.创建一个文件夹#xff0c;文件夹中创建… 有些场景我们需要将Excel文档中的内容抽取出来生成别的文件作为一个前端服务框架最应该熟悉的就是node了以下是基于多语言转换实现代码看明白原理自己改一改就能用了 1.安装node环境 2.创建一个文件夹文件夹中创建 package.json内容如下
{ dependencies: {express: ^4.18.2,fs: ^0.0.1-security,node-xlsx: ^0.23.0}
}
3.命令行切至文件夹内执行命令 npm i 4.文件夹内创建 ExcelToJsonAll.js与package.json同级
var xlsx require(node-xlsx);
const fs require(fs);
// 要获取文件的文件名
var sheets xlsx.parse(./fileList/Export.xls);const data sheets[0].data;// 获取需要支持的语言
getRows [ // index对应的是多语言文档里列的角标{ code: zh, name: 简体中文, index: 7 },{ code: en, name: 英语, index: 8 },]getRows.forEach(item {// 创建对象var obj {};data.forEach((d, i) {if (i ! 0) {obj[d[0]] d[item.index];}})// 重新排序const sListOld [];for (key in obj) {const skey key.split(_)const keyNumber skey[skey.length-1]const keyNumberReg new RegExp(_${keyNumber}); // 不加g仅删除字符串里第一个aconst keyHead key.replace(keyNumberReg,);const keyLength keyHead.lengthsListOld.push({number: keyNumber,keyLength: keyLength,key: key,value: obj[key]})}// 数字升序排列function up(a, b) {return a.number-b.number}// 排序后数组const sListNew sListOld.sort(up)// key长度升序排列//如果只按数字排列则会出现增量key和原始key数字部分相同的参杂在一起的情况所以按key长度区分开function upKeyLength(a, b) {return a.keyLength - b.keyLength;}// 排序后数组const sListSorted sListNew.sort(upKeyLength);// 转对象fileJson {}sListSorted.forEach(newDt {fileJson[newDt.key] newDt.value})console.log( ${item.name} ${item.code}.js )console.log(fileJson)// 输出语言jsonfs.writeFileSync(json_keyAll/${item.code}.json, JSON.stringify(fileJson, null, \t), utf8);
})
5.导入来源和导出生成文件路径根据自己实际情况定义 6.执行命令 node ExcelToJsonAll.js