让excel支持复杂的json格式(数组、对象、对象数组、字符串、数字、bool等),将excel文件转json。写这个工具的初衷是我们做游戏的时候,游戏策划用excel写表格,我们把表格转成json给游戏用,但是在excel里面填数组不方便,或者由于规划方便,我们编程不方便(本专栏需要单独处理),所以写了这样一个工具,希望能帮助到需要的人。说明这里只是做几个简单的演示,具体使用见项目xlsx2json。基于nodejs,可在windows/mac/linux下运行。例1基本函数输出结果如下(因为设置了#id列,所以输出为JsonHash格式,如果没有#id列,则输出为JsonArray格式):{"1111":{"id":"1111","name":"Spirit","slogen":["StormSpiritisgone","这场风暴没有避风港,昆卡!"],"skill":{"R":{"name":"Afterimage","CooldownTime":[3.5,3.5,3.5,3.5],"RangeofEffect":260,"ActiveSkill":true,"levels":[{"level":1,"damage":140,"mana":70},{"level":2,"damage":180,"mana":80}]},"E":{"name":"ElectronicVortex","CooldownTime":[21,20,19,18],"activeskill":true,"levels":[{"level":1,"time":1,"cost":100,"distance":100},{“级别”:2,“时间”:1.5,“成本”:110,“距离”:150}]}}},“1112”:{“id”:“1112”,“名称”:"Ghost","slogen":null,"skill":null}}如果将第一列的id#id替换为id#string,则输出JsonArray格式:[{"id":"1111","name":"风暴之灵","slogen":["风暴之灵消失了","这场风暴没有避风港,昆卡!"],"skill":{"R":{"name":"Remnant","冷却时间":[3.5,3.5,3.5,3.5],"RangeofEffect":260,"ActiveSkill":true,"levels":[{"level":1,"damage":140,"mana":70},{"level":2,"damage":180,"mana":80}]},"E":{"name":"ElectronicVortex","CooldownTime":[21,20,19,18],"ActiveSkill":true,"levels":[{"level":1,"time":1,"cost":100,"distance":100},{"level":2,"time":1.5,"cost":110,"distance":150}]}}},{"id":"1112","name":"ghost","slogen":null,"skill":null}]例2复杂分表如果表中某列就是对于#[]或者#{}类型,为了防止表格过于复杂,可以按照上图拆分主表格。比如上图中表1中的boss#{}和reward#[]列就比较复杂了,可以拆成三张表:表2、3、4,而表1中的boss#{}可以拆分成表3,表1中的reward#[]拆分成表4,表2为主表,表3、表4为从表。支持以下数据类型:数字数字类型。布尔值布尔值。字符串字符串。日期日期类型。object对象,同JS对象。array数组,同JS数组。id主键类型(当表中有id类型时,json会以hash格式输出,否则以数组格式输出)。id[]主键数组,只存在于从表中。
