feat: add XLSX export functionality and refactor argument parsing in main script

This commit is contained in:
Victor Noguera
2026-05-20 16:18:12 -04:00
parent 0c2e59771c
commit f8bc05685e
2 changed files with 72 additions and 6 deletions

View File

@@ -1,5 +1,8 @@
import { getDb } from "./database.ts";
import type { AnalysisResult, SupplierAnalysisResult } from "./types.ts";
import { mkdirSync } from "node:fs";
import path from "node:path";
import * as XLSX from "xlsx";
export type RunCounts = {
totalProducts: number;
@@ -93,6 +96,22 @@ export function writeResultsToDb(
console.log(`Results written to SQLite database for run_id: ${runId}`);
}
export function writeResultsWorkbook(
results: AnalysisResult[],
outputFile: string,
): void {
const outputDir = path.dirname(outputFile);
if (outputDir && outputDir !== ".") {
mkdirSync(outputDir, { recursive: true });
}
const workbook = XLSX.utils.book_new();
const worksheet = XLSX.utils.json_to_sheet(results.map(buildRow));
XLSX.utils.book_append_sheet(workbook, worksheet, "Results");
XLSX.writeFile(workbook, outputFile);
console.log(`Results workbook written: ${outputFile}`);
}
export function startRunInDb(
dbPath: string,
inputFile: string,