Excel 转 Json 、Node.js实现(应用场景:i18n国际化)

创作灵感来源于在线转换是按照换行符去转换excel内容换行符后很难处理 本文是按单元格转换
javascript 复制代码
const xlsx = require('node-xlsx')
const fs = require('fs')
const xlsxData = xlsx.parse('./demo.xlsx') // 需要转换的excel文件

// 数据处理 方便粘贴复制
const data = xlsxData[2].data  // [index] 对应 sheet 页
const len = data.length
const outData_zh = {
} // 中文
const outData_en = {
} // 英文
const outData_id = {
} // 印尼文
for (let i = 0; i < len; i++) {
  // 2.数据处理
  const item = data[i]
  outData_zh[item[0]] = item[1]
  outData_en[item[0]] = item[2]
  outData_id[item[0]] = item[3]
}
const outData = {
  cn: outData_zh,
  us: outData_en,
  id: outData_id
}

writeFile('result.json', JSON.stringify(outData)) // 输出的json文件
function writeFile(fileName, data) {
  fs.writeFile(fileName, data, 'utf-8', complete)  // 文件编码格式 utf-8
  function complete(err) {
    if (!err) {
      console.log('文件生成成功')  // 输出完成
    }
  }
}

需转换文件 第一列作为 key 二三四列作为 value 分别对应中 英 印三种语言

输出结果:

相关推荐
前端青山5 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
从兄6 小时前
vue 使用docx-preview 预览替换文档内的特定变量
javascript·vue.js·ecmascript
清灵xmf7 小时前
在 Vue 中实现与优化轮询技术
前端·javascript·vue·轮询
薛一半8 小时前
PC端查看历史消息,鼠标向上滚动加载数据时页面停留在上次查看的位置
前端·javascript·vue.js
过期的H2O29 小时前
【H2O2|全栈】JS进阶知识(四)Ajax
开发语言·javascript·ajax
MarcoPage9 小时前
第十九课 Vue组件中的方法
前端·javascript·vue.js
你好龙卷风!!!9 小时前
vue3 怎么判断数据列是否包某一列名
前端·javascript·vue.js
shenweihong11 小时前
javascript实现md5算法(支持微信小程序),可分多次计算
javascript·算法·微信小程序
巧克力小猫猿11 小时前
基于ant组件库挑选框组件-封装滚动刷新的分页挑选框
前端·javascript·vue.js
嚣张农民11 小时前
一文简单看懂Promise实现原理
前端·javascript·面试