excel其实功能非常强大,一般人能用到它的10%就不错了。就像普通人只发挥其潜能的10%,如果能发挥到100%,就像电影永无止境和超体里的男主女主,已经超脱凡人之躯可以为所欲为了。。。扯远了啊。
说到文件交互,excel文件就没有这么高大上了,两人都是用excel,那么相互提供excel文件是最适合的,这边用excel文件,那边用的是其他软件或系统,不一定能很好地识别使用excel文件,那么就涉及到文件格式的转换,其实你提供的并不是文件本身,而是要将文件里的数据提供给对方。这时候专用文件格式反而成为沟通的障碍。而通用的大家都能正常处理的文件格式就很适合了。json文件就非常适合。当然node和python可以很好地处理excel文件,其他软件或系统就不太好说了。
我们假设excel源文件格式比较标准,要处理的内容在第一个标签页,第一行是属性行,其余行是数据行,没有空行或空列,那么可以用以下方式简单处理:
//excel2json.js
const xlsx = require("node-xlsx");
const fs = require("fs");
let excelfile=process.argv.slice(2)[0]
let jsonfile=process.argv.slice(2)[1]
console.log("excel file is "+excelfile+" , and json file is "+jsonfile)
let workbook =xlsx.parse(excelfile);
datalist=workbook[0].data
let jlist=[]
for (i=1;i<datalist.length;i++){
item=datalist[i]
jitem={}
for (j=0;j<item.length;j++) jitem[datalist[0][j]]=item[j]
jlist.push(jitem)
}
console.log(jlist)
fs.writeFileSync(jsonfile,JSON.stringify(jlist))
这样就可以执行以下命令转换excel文件到json文件了