日常开发中需要从Excel表格中拿一些数据
比如获得三十多道测试题...
普通的CV大法不仅浪费时间效率不高,而且很容易让人心态炸裂
那么就直接写个脚本来读取Excel表格中的数据吧
node-xlsx
node-xlsx 是一个Node.js的扩展,主要是用于解析和构建 Microsoft Excel 表格,
这个插件基于 [js-xlsx](https://github.com/SheetJS/js-xlsx) 扩展,能够基于
node.js解析Excel文件数据和生成Excel文件
安装
npm install excel node-xlsx
使用方法 读取一个 xlsx 文件到一个数组或者变量
var xlsx = require('node-xlsx');
var obj = xlsx.parse(__dirname + '/myFile.xlsx');
// parses a file
var obj = xlsx.parse(fs.readFileSync(__dirname + '/myFile.xlsx'));
// parses a buffer
通过一个 object 对象创建一个 Excel 文件
var xlsx = require('node-xlsx');
var data = [
[1,2,3],
[true, false, null, 'sheetjs'],
['foo','bar',new Date('2014-02-19T14:30Z'), '0.3'],
['baz', null, 'qux']
];
var buffer = xlsx.build([{name: "mySheetName", data: data}]);
// returns a buffer
示例
var xlsx = require("node-xlsx");
var fs = require("fs");
var obj = xlsx.parse(__dirname + "/test.xlsx"); //配置excel文件的路径
var excelObj = obj[2].data;
const oList = [
"A、从不",
"B、很少",
"C、有时",
"D、经常",
"E、频繁",
"F、总是",
];
let arr = [];
for (let i = 0; i < excelObj.length; i++) {
const element = excelObj[i];
let tit = element[1];
if (tit && i > 0) {
let obj = {
title: element[1].split(".")[1],
options: oList,
};
arr.push(obj);
}
}
console.log(arr);
var jsonContent = JSON.stringify(arr);
fs.writeFile("output.json", jsonContent, "utf8", function (err) {
if (err) {
console.log("An error occured while writing JSON Object to File.");
return console.log(err);
}
console.log("JSON file has been saved.");
});