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

输出结果:

相关推荐
拉不动的猪3 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪3 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
uhakadotcom4 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom4 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom4 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom4 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试
咖啡教室5 小时前
前端开发日常工作每日记录笔记(2019至2024合集)
前端·javascript
咖啡教室6 小时前
前端开发中JavaScript、HTML、CSS常见避坑问题
前端·javascript·css
市民中心的蟋蟀8 小时前
第五章 使用Context和订阅来共享组件状态
前端·javascript·react.js
逆袭的小黄鸭8 小时前
JavaScript 闭包:强大特性背后的概念、应用与内存考量
前端·javascript·面试