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("文件生成成功");  // 终端打印这个 表示输出完成
      }   
  } 
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • potPlayer 快捷键[通俗易懂]

    potPlayer 快捷键[通俗易懂]空格:播放/暂停 Enter/Alt+Enter:全屏  c–加速  x–减速  z–恢复原速度,再次则恢复上次速度(类似以前电视机的【回看】功能) Tab:显示当前播放视频信息 H:书签管理器 P:添加书签 M:静音 第一行除【p】外:调整图像色彩、亮度、对比度、饱和度、复位 D:定位上一帧,省去截屏与倒退的烦恼 F:定位下一帧 G:直接输入定位位置 0:…

  • eureka注册中心原理_腾讯实名认证中心

    eureka注册中心原理_腾讯实名认证中心英文版的官方教程搭建Eruka注册中心很简单,三个步骤1增加项目依赖,改pom文件2为Eruka新增配置文件3启动类加@EnableEurekaServer注解以上三个步骤。这篇文章很详细(此文看上半部分即可,下半部分是搭建多个Eruka集群,他们之间可相互通讯同步)。新建一个boot项目,里面只需要pom文件、配置文件Application.properties,和启动类三个文件就可以了。…

  • 红旗 Linux 官方社区_centos桌面图标

    红旗 Linux 官方社区_centos桌面图标参考资料下载:http://www.ctdisk.com/u/665442 计算机和网络技术不断推进着人类的生产力,Linux的诞生又为之带来一场开放与自由的变革。现在,作为亚洲最大、发展最迅速的Linux产品发行商,北京中科红旗软件技术有限公司(红旗软件)引领着这场变革的方向,通过提供高品质的产品和服务,开创全新的计算体验,帮助企业增强其整体竞争力,提高个人工作效率,将用户业务价值和Li

  • java学生成绩管理系统界面设计

    java学生成绩管理系统界面设计关于学生成绩管理系统的界面设计:代码如下1import&nbsp;javax.swing.*;2import&nbsp;java.awt.*;3import&nbsp;java.awt.event.*;4import&nbsp;com.example.SqlHelper;5class&nbsp;MyPanel&nbsp;extends&nbsp;JPanel{6&nbsp;&nbs…

  • 什么是pisa测试_PISA测试是什么?[通俗易懂]

    什么是pisa测试_PISA测试是什么?[通俗易懂]“国际高中指南”,给你国际学校选择一站式教育服务,最新国际学校资讯,最全面国际高中课程详情,都能通过“国际高中指南”为你解决,帮助你第一时间获取国际学校动态。为什么你会为孩子选择国际学校?因为这里的教育模式、课程体系能够帮助孩子更早的确立自己的兴趣爱好甚至未来的发展目标,能够帮助孩子全方位提升阅读能力、逻辑思维、数理分析能力等等。那这些能力可以通过什么方式去衡量呢?PISA测试。【PISA】什么是…

  • 线上问题:线程池拒绝策略「建议收藏」

    线上问题:线程池拒绝策略「建议收藏」1场景复现服务调用时序如图1所示。中间件服务使用线程池ThreadPoolExecutor,配置丢弃策略为DiscardOldestPolicy(丢弃队列中等待最久的任务),队列容量为10。图1服务调用publicstaticExecutorServicethreadPoolExecutorGenerate=newThreadPoolExecutor(ThreadPoolConstant.CORE_THREAD_NUM,Thread

发表回复

您的电子邮箱地址不会被公开。

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