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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深度图像基础知识(一)[通俗易懂]

    深度图像基础知识(一)[通俗易懂]深度图像(depthimage)也被称为距离影像(rangeimage),是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。深度图像经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图像数据。深度数据流所提供的图像帧中,每一个像素点代表的是在深度感应器的视野中,该特定的(x,y)坐标处物体到离摄像头平面最近的

    2022年4月25日
    46
  • CRC在线计算器,很好用「建议收藏」

    CRC在线计算器,很好用「建议收藏」http://www.ip33.com/crc.html

    2025年6月2日
    0
  • vscode-前端插件

    vscode-前端插件文章目录AutoCloseTagAutoRenameTagBeautifyBracketPairColorizerDebuggerforChromeESLintHTMLCSSSupportHTMLSnippetsJavaScript(ES6)codesnippetsjQueryCodeSnippetsMarkdownPreviewEnhancedmarkdownlintMaterialIconThemeopeninbrowserPathIntellisenseRe

    2022年7月25日
    6
  • .dll反编译(反编译什么意思)

    需求:有些Dll文件我们找不到源码,只有编译后的dll,但是我们想要改某个字段或者连接字符串,并不需要动太多业务逻辑的情况下,我们可以这样干。1.打开微软提供的反编译工具ildasm.exe这个工具是windows自带的反编译工具。路径:C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v10.0A\bin\NETFX4.6.2Tools可以根据需要,选择对应工具版本。一般随便选一个版本都是可以的了。比如,我选择的是4.6…

    2022年4月12日
    57
  • 基于Lucene3.5.0如何从TokenStream获得Token

    基于Lucene3.5.0如何从TokenStream获得Token通过学习Lucene3.5.0的doc文档,对不同release版本lucene版本的API改动做分析。最后找到了有价值的改动信息。LUCENE-2302:DeprecatedTermAttributeandreplacedbyanewCharTermAttribute.Thechangeisbackwardscompatible,somixednew/old

    2022年7月22日
    8
  • 【Spring】代理模式:静态代理

    【Spring】代理模式:静态代理为什么要学代理模式?因为这就是SpringAOP的底层!【面试时,SpringAOP和SpringMVC一定会问】代理模式的分类:静态代理 动态代理静态代理角色分析:抽象角色:一般会使用接口或抽象类来解决 真是角色:被代理的角色 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作 客户:访问代理对象的人!代码步骤:接口(Rent.java)packagecom.company.org;publicinterfaceRent{pu

    2022年10月17日
    3

发表回复

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

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