const xlsx = require('node-xlsx')
const fs = require('fs')
const join = require('path').join
/**
* 获取路径下以extname结尾的文件名,返回文件名数组
* @param {*} path
* @param {*} extname
*/
function readAllFileName(path, extname) {
let out = []
let files = fs.readdirSync(path)
let reg = new RegExp(extname)
files.forEach((item) => {
let filePath = join(path, item)
if (reg.test(filePath)) {
out.push(item)
}
})
return out
}
function readExcel(fileName) {
return xlsx.parse(fileName)
}
/**
*
* @param {*} excel
* @param {*} n 1对应Sheet1
* @param {*} isNeedFirstRow
*/
function readSheet(excel, n, isNeedFirstRow) {
let sheet = excel[n - 1].data
if (!isNeedFirstRow) sheet.shift() //去除第一行
return sheet
}
function writeExcel(sheet, fileName, sheetName) {
let buffer = xlsx.build([
{ name: sheetName, data: sheet }
])
fs.writeFile(fileName, buffer, function (err) {
if (err) throw err;
console.log('Write to excel has successed');
})
}
let fileNames = readAllFileName('./', '.xlsx')
let fileName = fileNames[0]
let excel = readExcel(fileName)
let sheet1 = readSheet(excel, 1, true)
writeExcel(out, '2.xlsx','sheet1')