Vue项目中使用Node.js读取Excel文件内容
背景: 产品给了个需求,要做国际化多语言,丢了个语言包Excel文件给我。
本想复制粘贴的方式构造一下key-value,被老大投来了质疑的眼光,用node写一个读取excel然后用文件的方式写到JSON文件中不就行了吗。
我:????
然后研究了一下,参考了网上的资料
参考: https://juejin.cn/post/6981649625669173255#comment
首先文件数据格式:
page: 没啥用
key:关键字 ; zh:中文 ; en: 英文 ; fr: 法语
目标: 读取Excel文件构造三个语言包
首先,在src目录下创建:language文件夹,在文件夹下边创建一个importLanguage.js ,记得安装node-xlsx,命令: npm install node-xlsx --save
// 引入 node-xlsx 模块 const xlsx = require('node-xlsx') // excel文件类径 const excelFilePath = './src/locales/language.xlsx' //解析excel, 获取到所有sheets const sheets = xlsx.parse(excelFilePath); // 打印页面信息.. const sheet = sheets[0]; let zh = '{\n' let en = '{\n' let fr = '{\n' sheet.data.shift() // 去掉表格最顶上的哪一行表头, 'page', 'key', 'zh', 'en', 'fr' sheet.data.forEach(row => { if (row.length > 0) { zh += ` "${row[1]}": "${row[2]}",\n` en += ` "${row[1]}": "${row[3]}",\n` fr += ` "${row[1]}": "${row[4]}",\n` } }) zh += '}' en += '}' fr += '}' const fs = require('fs') fs.writeFile('./src/language/en-test.json', en, () => {}) fs.writeFile('./src/language/fr-test.json', fr, () => {}) fs.writeFile('./src/language/zh-test.json', zh, () => {})
方法一:使用Node.js执行代码:node ./src/language/importLanguage.js (入门)
方法二:这里也可以写到package.js中,配置一个 "build:language": "node ./src/language/importLanguage.js" 后 可以执行npm run build:language命令
生成的文件会放到 ./src/language/en-test.json 中,点开文件可以看到我想要的数据
{ "front_page": "front page", }
注意:这里要手动删除最后一行的 " 逗号 "
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理