本文是根据自动扫描生成国际化文件后, 叠加的操作, 传送门:

国际化vue-i18n之i18next-scanner自动化使用教程_阿喵阿旺的博客-CSDN博客_i18next vue

然后现在拿到的需求是需要导出一个excel文件给到产品或专业人士核对翻译是否准确, 最终效果如下:

实现代码

// 安装依赖

npm install json2xls -D

const json2xls = require("json2xls");
const path = require("path");
const fs = require("fs");
const getPathInfo = (p) => path.parse(p);
/*** @description // 递归读取文件,类似于webpack的require.context()* @param {String} directory 文件目录* @param {Boolean} useSubdirectories 是否查询子目录,默认false* @param {array} extList 查询文件后缀,默认 ['.js']**/
function autoLoadFile(directory, useSubdirectories = false, extList = [".js"]) {const filesList = [];// 递归读取文件function readFileList(directory, useSubdirectories, extList) {const files = fs.readdirSync(directory);files.forEach((item) => {const fullPath = path.join(directory, item);const stat = fs.statSync(fullPath);if (stat.isDirectory() && useSubdirectories) {readFileList(path.join(directory, item), useSubdirectories, extList);} else {const info = getPathInfo(fullPath);extList.includes(info.ext) && filesList.push(fullPath);}});}readFileList(directory, useSubdirectories, extList);// 生成需要的对象const res = filesList.map((item) => ({path: item,data: require(item),...getPathInfo(item),}));return res;
}
// 自动获取同目录下的json文件夹下的json文件
const fileList = autoLoadFile(path.join(__dirname, "./json"), true, [".json"]);let data = []; // json2xls需要的数据格式: [{zh: "我是中文", en: "i am chinese"}]
fileList.forEach((_, i) => {// _.data = {Kxxxx:'语言'}for (const [key, val] of Object.entries(_.data)) {if (i === 0) {// 首次遍历新建对应键名data.push({ 键名: key, [_.name]: val });} else {// 非首次遍历匹配对应键名新增数据data.forEach((e) => {if (e["键名"] === key) {e[_.name] = val;}});}}
});// 导出excel文件
fs.writeFileSync("国际化.xlsx",json2xls(data),"binary"
);

生成命令

// 根目录package.json文件添加命令
"scripts": {"i18n2excel": "node src/i18n/json2Excel.js"
},

// 执行

npm run i18n2excel

项目根目录就能看到 国际化.xlsx 文件了.

[自动化] 前端国际化导出中英文excel文档相关推荐

  1. 如何将Revit明细表导出为Excel文档

    Revit软件没有将明细表直接导出为Excel电子表格的功能,Revit只能将明细表导出为TXT格式,但是这种TXT文件用EXCEL处理软件打开然后另存为XLS格式即可,以Revit2013版自带的建 ...

  2. 支持将数据导出到Excel文档的时候设置单元格格式的.NET控件Spire.DataExport

    Spire.DataExport for .NET是e-iceblue公司推出的一款数据导出类.NET控件.作为一款专业的数据导出控件,Spire.DataExport for .NET可以帮助开发人 ...

  3. 前端报表导出成word文档(含echarts图表)

    前端报表导出成word文档(含echarts图表) 一.问题背景: 前端vue做的各种维度的报表,原来是通过前端整体截屏导出成PDF,但部分报表在遇到跨页时会被截断,客户体验极差.然后又考虑客户可能需 ...

  4. 使用NPOI2.0.1.0自定义导出的excel文档数字为文本格式不能公式编辑计算的问题解决

    问题描述: 使用npoi2.0.1.0自定义导出的excel文档为文本格式,在excel中无法直接进行公式计算,不方便使用,需要手工转为数值型才能进行计算. 解决方式: 原先的方式时获取行(Row)进 ...

  5. Java 实现数据库数据 导入 导出成Excel文档的功能

    1.创建导入 导出工具类,写入其导入和导出方法 导出成外部文件: public static ResponseEntity<byte[]> emp2Excel(List<Emp> ...

  6. Java 通过EasyExcel导出的Excel文档的字体,背景色,自动列宽等符合要求

    这次开任务使用的是EasyExcel导出Excel文档,但是在任务过程中,生成的文档的格式要求并不符合产品和测试的期望值,如图: 想着自己地位低下,也无能力反驳.只好硬着头皮查阅资料来达到他们的想要的 ...

  7. java基于easypoi实现对导出的excel文档加密

    **项目背景 随着项目日新月异的变化,对数据的安全性也越来越高,特别是政府类型的项目,数据安全往往是非常重要的,最近项目中导出的文件被要求需要密码才能打开,所以写下这篇文章,特此记录一下. 文章目录 ...

  8. Powerdesigner导出为excel文档

    1.首先打开Powerdesigner打开你需要导出的表 2.ctrl+shift+x快捷键打开脚本运行器复制以下脚本到脚本框中点击run执行(如下图) 3.导出成功会自动打开导出的Excel文件自己 ...

  9. 导出功能: 导出为excel文档,后端做导出处理,js代码发送接口直接下载

    async handleExport() {const newRow = JSON.parse(JSON.stringify(this.form));delete newRow.creationDat ...

最新文章

  1. 树上分治详解 超级详细(附带例题 poj1741(给了题目))
  2. excel 按数据拆分 xlam_利用EXCEL提升效率之五分钟缩短至五秒批量合并EXCEL批量转换PDF批量上传报关单随附单据___EXCELVBA...
  3. ISA2004发布应用程序服务器
  4. 关于vc中Warning: skipping non-radio button in group的警告
  5. PTA浙大版python程序设计题目集--第2章-2 计算分段函数[1] (10 分)
  6. boost::mp11::mp_is_map相关用法的测试程序
  7. 使用 Java 11 安装 SAP Commerce Cloud 1905 的一些常见问题
  8. 荐书 | 10本书给你计算机大师思维
  9. 年薪40W,如何高效准备大厂AI算法岗面试?
  10. Linux阻塞和同步机制
  11. 凌晨一点的粤海街道对抗来自美国的力量|湾区人工智能
  12. 解决NSTimer循环引用
  13. hdu4906:3-idiots【FFT】
  14. 3.4 小乌龟git使用说明
  15. Epson Perfection V370 Photo图片扫描自动控制
  16. envi与arcgis文件转换_ArcGIS ENVI中土地分类格式互转、土地利用转移矩阵、变化图谱计算详解...
  17. netty报错:LEAK: ByteBuf.release() was not called before it‘s garbage-collected
  18. BUUCTF·[AFCTF2018]Vigenère·WP
  19. 【面经】字节跳动C++社招5轮面试题分享
  20. Lucene.net(4.8.0)+PanGu分词器 问题记录一 分词器Analyzer的构造和内部成员ReuseStategy

热门文章

  1. iqooneo3 如何不用vivo账号下载外部应用_vivo入局智能穿戴行业,首款智能手表vivo watch开箱体验|vivo|智能手表|智能穿戴|手机|watch...
  2. 网站添加 工信部备案 链接
  3. -moz-max-content使用
  4. MongoDB多表查询各属性详解
  5. NFC数据串口传输模块(NFC2COM)--风火轮
  6. 2018年10月《电子政务》真题
  7. php表单转json对象,将表单数据转化为json数据
  8. 用友 U8 入库调整单
  9. 面试滑铁卢之:说说关系型数据库的特点
  10. CANOe系列讲解 - CANOe使用初探