使用ExcelJS实现Excel文件的读取、操作与写入
ExcelJS是一个强大的Node.js库,用于读取、操作和写入Excel文件。以下是如何使用ExcelJS库来完成这些任务的一个基本示例。
第一步:安装ExcelJS
首先,确保你已经安装了ExcelJS。你可以使用npm来安装它:
npm install exceljs
第二步:读取Excel文件
下面展示如何使用ExcelJS读取一个Excel文件:
const ExcelJS = require('exceljs');
async function readExcelFile(filePath) {
// 创建新的工作簿
const workbook = new ExcelJS.Workbook();
// 读取Excel文件
await workbook.xlsx.readFile(filePath);
// 假设我们读取第一个工作表
const worksheet = workbook.getWorksheet(1);
// 遍历每一行并输出数据
worksheet.eachRow((row, rowNumber) => {
console.log(`Row ${rowNumber} = ${JSON.stringify(row.values)}`);
});
}
readExcelFile('path/to/your/excelFile.xlsx');
第三步:操作Excel数据
在读取文件后,你可能想修改或操作其内容。以下是如何在已经加载的工作表中进行数据操作的示例:
async function modifyExcelFile(filePath) {
const workbook = new ExcelJS.Workbook();
await workbook.xlsx.readFile(filePath);
const worksheet = workbook.getWorksheet(1);
// 修改某一单元格的值
worksheet.getCell('A1').value = 'Updated Value';
// 添加行
const newRow = worksheet.addRow(['New Data 1', 'New Data 2', 'New Data 3']);
console.log(`Added new row at position: ${newRow.number}`);
}
modifyExcelFile('path/to/your/excelFile.xlsx');
第四步:写入更改后的Excel文件
在完成修改后,你可以将更改写回文件:
async function writeExcelFile(filePath) {
const workbook = new ExcelJS.Workbook();
await workbook.xlsx.readFile(filePath);
const worksheet = workbook.getWorksheet(1);
// 修改或者添加内容后
worksheet.getCell('A1').value = 'Updated Again';
// 保存到新文件中
await workbook.xlsx.writeFile('path/to/your/modifiedExcelFile.xlsx');
console.log('Excel file written successfully.');
}
writeExcelFile('path/to/your/excelFile.xlsx');
综合示例
结合上述步骤,我们可以创建一个综合示例,可以读取、修改并写入Excel文件:
async function processExcelFile(filePath, outputFilePath) {
const workbook = new ExcelJS.Workbook();
await workbook.xlsx.readFile(filePath);
const worksheet = workbook.getWorksheet(1);
// 执行数据读取
worksheet.eachRow((row, rowNumber) => {
console.log(`Row ${rowNumber} = ${JSON.stringify(row.values)}`);
});
// 修改操作
worksheet.getCell('A1').value = 'Comprehensive Value Update';
worksheet.addRow(['Added Row Data 1', 'Added Row Data 2']);
// 写入到新的Excel文件
await workbook.xlsx.writeFile(outputFilePath);
console.log('Excel file processed and written successfully.');
}
processExcelFile('path/to/your/excelFile.xlsx', 'path/to/your/processedExcelFile.xlsx');
这段代码涵盖了读取、修改和写入Excel文件的基本操作。根据实际需求,您可以进一步扩展这些操作,例如设置单元格样式、格式化数据等。