本来只是想写个NodeJS爬虫,中间涉及到一点Excel。找了找Excel模块,xlsx模块在npm官网上搜索排名很靠前,就选了它,star数还比较可观。仔细了解了xlsx模块才发现这玩意生成Excel文件实在太麻烦,搜索网上的博客,那些人都是互相抄袭,代码也不够优雅。得了,还是我自己造轮子吧。
注释很详细,直接上代码:const XLSX = require('xlsx'); class WorkBook { /** * @param {Object} data Excel表格源数据,格式如下: * { * Sheet1: [ * ['姓名', '学号', '籍贯'], * ['lxz', '10131911', 'hunan'] * ] * } */ constructor(srcData) { this.srcData = srcData; this.workbook = {}; this.workbook.SheetNames = []; this.workbook.Sheets = {}; for(let item in srcData) { this.workbook.SheetNames.push(item); this.addSheet(item, srcData[item]); } } /** * 往Excel文件添加一个表格 * @param {string} sheetName 表格名 * @param {object} sheet 表格数据 * @returns void */ addSheet(sheetName, sheet) { this.workbook['Sheets'][sheetName] = {}; let row = sheet.length; let col = sheet[0].length; let to = ''; for(let i=0; i=0; i--) { twentysixNumber += str[i]; } return twentysixNumber; } /** * 将数据写入Excel * @param {string} filename 文件路径 */ writeFile(filename) { XLSX.writeFile(this.workbook, filename); } } module.exports = WorkBook;