1、创建一个空文件夹
2、终端
cnpm install xlsx
3、在文件夹创建一个index.js
// 导入 Node.js 内置的 fs 模块
const fs = require('fs');
// 导入 xlsx 模块,用于处理 Excel 文件
const XLSX = require('xlsx');// 读取 Excel 文件
function readExcelFile(filePath) {const workbook = XLSX.readFile(filePath);const sheetName = workbook.SheetNames[0];const worksheet = workbook.Sheets[sheetName];return XLSX.utils.sheet_to_json(worksheet);
}// 生成多语言文件
function generateLanguageFiles(data, outputDir) {// 假设第一列是 key,后面的列为各种语言const keys = Object.keys(data[0]);const langKeys = keys.slice(1); // 跳过第一个 key 列langKeys.forEach(lang => {const content = {};data.forEach(row => {content[row[keys[0]]] = row[lang];});// 写入文件const fileName = `${outputDir}/${lang}.js`;const fileContent = `export default ${JSON.stringify(content)};`;fs.writeFileSync(fileName, fileContent);});
}// 主函数
function main() {const filePath = 'path/to/your/excel/file.xlsx';const outputDir = 'path/to/output/directory';// 确保输出目录存在if (!fs.existsSync(outputDir)) {fs.mkdirSync(outputDir, { recursive: true });}try {const data = readExcelFile(filePath);generateLanguageFiles(data, outputDir);console.log('Language files generated successfully.');} catch (error) {console.error('Failed to generate language files:', error);}
}// 运行主函数
main();
请确保替换 filePath 和 outputDir 变量中的路径为实际的路径。
我的测试代码:
const filePath = 'D:/Users/admin/Desktop/lang.xlsx';const outputDir = 'D:/Users/admin/Desktop/initLang';
4、excel文件
这段代码假设你的 Excel 文件结构如下:
key | en | zh |
---|---|---|
hello | hello | 你好 |
world | world | 世界 |
如我的lang.xlsx:
5、终端
在此文件夹下
node index.js
6、就会生成一个initLang文件夹
里面会有en.js、zh.js…文件