sisa-crawl/appendResultsToExcel.js

35 lines
988 B
JavaScript
Raw Normal View History

const xlsx = require("xlsx");
const fs = require("fs");
function appendToExcel(newResult, filename) {
let workbook;
// Load existing file if it exists
if (fs.existsSync(filename)) {
workbook = xlsx.readFile(filename);
} else {
workbook = xlsx.utils.book_new();
}
const sheetName = "Results";
let worksheet = workbook.Sheets[sheetName];
// If the worksheet doesn't exist, create it
if (!worksheet) {
worksheet = xlsx.utils.json_to_sheet([]);
xlsx.utils.book_append_sheet(workbook, worksheet, sheetName);
}
// Get existing data from the worksheet
const data = xlsx.utils.sheet_to_json(worksheet);
data.push(newResult); // Add new result
// Update worksheet with new data
const updatedWorksheet = xlsx.utils.json_to_sheet(data);
workbook.Sheets[sheetName] = updatedWorksheet;
// Write updated workbook to file
xlsx.writeFile(workbook, filename);
}
module.exports = appendToExcel;