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 分别对应中 英 印三种语言

输出结果:

相关推荐
程序员清洒36 分钟前
Flutter for OpenHarmony:Text — 文本显示与样式控制
开发语言·javascript·flutter
雨季6661 小时前
Flutter 三端应用实战:OpenHarmony 简易“动态内边距调节器”交互模式深度解析
javascript·flutter·ui·交互·dart
会飞的战斗鸡2 小时前
JS中的链表(含leetcode例题)
javascript·leetcode·链表
方也_arkling2 小时前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
qq_177767372 小时前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_177767373 小时前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
web打印社区3 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
烬头88213 小时前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos
Amumu121383 小时前
Vuex介绍
前端·javascript·vue.js
2601_949809593 小时前
flutter_for_openharmony家庭相册app实战+相册详情实现
javascript·flutter·ajax