Node.js excel转json

Node.js excel转json这个是8月初做的,之前公司项目需要国际化,在项目本地会有两份json数据,一个中文的一个英文的,但是公司产品经理提供的数据是excel格式,需要我们自己转一次。最初几次数据量不大,一次50条左右,我都是手动的添加了几次,后来发现不行,每次这么搞容易出错且比较耗时,就写了这么一个工具,使用起来效率倍增,启动运行一下这个项目,然后粘贴复制即可。其实使用Node.js把excel转成json很简单…

大家好,又见面了,我是你们的朋友全栈君。

这个是8月初做的,之前公司项目需要国际化,在项目本地会有两份json数据,一个中文的一个英文的,但是公司产品经理提供的数据是excel格式,需要我们自己转一次。最初几次数据量不大,一次50条左右,我都是手动的添加了几次,后来发现不行,每次这么 搞容易出错且比较耗时,就写了这么一个工具,使用起来效率倍增,启动运行一下这个项目,然后粘贴复制即可。
其实使用Node.js 把excel转成json很简单,就是使用node-xlsx这个npm包就可以了。
大致流程:
1.读取本地excel文件到变量暂存;
2.处理变量数据;(根据各自需求处理)
3.处理后的数据写入本地json文件
代码:

var xlsx = require("node-xlsx");
var fs = require('fs');
var list = xlsx.parse("add.xlsx"); // 需要 转换的excel文件

// 数据处理 方便粘贴复制
var data = list[0].data;  // 1.读取json数据到变量暂存
var len = data.length;
var outData_cn = { 
   }; // 中文
var outData_us = { 
   }; // 英文
for(var i = 0; i < len; i ++){ 
     // 2.数据处理
	var item = data[i];
	outData_cn[item[0]] = item[1];
	outData_us[item[0]] = item[2];
}
var outData = { 
   
	cn: outData_cn,
	us: outData_us
}

writeFile("all.json",JSON.stringify(outData)); // 输出的json文件 3.数据写入本地json文件
function writeFile(fileName,data)
{ 
     
  fs.writeFile(fileName,data,'utf-8',complete);  // 文件编码格式 utf-8
  function complete(err)
  { 
   
      if(!err)
      { 
   
          console.log("文件生成成功");  // 终端打印这个 表示输出完成
      }   
  } 
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134064.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • activity生命周期_软件生命周期八个阶段

    activity生命周期_软件生命周期八个阶段子曰:溫故而知新,可以為師矣。《論語》学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精髓。近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下。熟悉javaEE的朋友们都了解servlet技术,

    2022年8月16日
    2
  • RGBD相机总结_光圈快门iso

    RGBD相机总结_光圈快门iso对深度相机进行总结,方便不断补充。

    2022年9月16日
    0
  • python定义函数求和_Python定义函数实现累计求和操作

    python定义函数求和_Python定义函数实现累计求和操作一、使用三种方法实现0-n累加求和定义函数分别使用while循环、for循环、递归函数实现对0-n的累加求和1、使用while循环定义一个累加求和函数sum1(n),函数代码如下:2、使用for循环定义一个累加求和函数sum2(n),函数代码如下:3、使用递归函数定义一个累加求和函数sum3(n),函数代码如下:二、使用了三种实现累加求和的方法,分别定义了三个函数。1、对0-100实现累加求和,…

    2022年10月29日
    0
  • Laravel修改配置后一定要清理缓存 “php artisan config:clear”!

    Laravel修改配置后一定要清理缓存 “php artisan config:clear”!

    2021年10月22日
    200
  • java队列(Queue)用法总结[通俗易懂]

    java队列(Queue)用法总结[通俗易懂]1.队列的特点队列是一种比较特殊的线性结构。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中最先插入的元素也将最先被删除,对应的最后插入的元素将最后被删除。因此队列又称为“先进先出”(FIFO—firstinfirstout)的线性表,与栈(FILO-firstinlastout)刚好相反…

    2022年7月14日
    16
  • 软件测试总结——常见的面试问题(一)

    软件测试总结——常见的面试问题(一)1.软件测试级别?单元测试:单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。Findyou又称为模块测试,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。(测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试)集成测试:(集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起…

    2022年5月29日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号