feat: add XLSX export functionality and refactor argument parsing in main script
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user