Brings the working codebase (Next.js app, auth system, Stripe billing, Docker/deploy config, tests, docs) into version control on top of the placeholder initial commit, and adds account self-deletion (Danger Zone in Settings, password + typed-email confirmation, cascading DB cleanup, Stripe cancellation) per GDPR right-to-erasure. Excludes local build caches, node_modules, and internal agent scratch files; .gitignore hardened to keep those out going forward. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
30 lines
882 B
JavaScript
30 lines
882 B
JavaScript
import ExcelJS from "exceljs";
|
|
|
|
async function inspect() {
|
|
const wb = new ExcelJS.Workbook();
|
|
await wb.xlsx.readFile("C:/Users/timo/Downloads/Belege_Export_2026-08-14.xlsx");
|
|
|
|
console.log("=== WORKBOOK SHEETS ===");
|
|
wb.eachSheet((sheet, id) => {
|
|
console.log(`Sheet ${id}: "${sheet.name}" (Rows: ${sheet.rowCount}, Cols: ${sheet.columnCount})`);
|
|
});
|
|
|
|
const s1 = wb.getWorksheet("Belegübersicht");
|
|
if (s1) {
|
|
console.log("\n=== SHEET 1: Belegübersicht ===");
|
|
s1.eachRow((row, rowNumber) => {
|
|
console.log(`Row ${rowNumber}:`, JSON.stringify(row.values));
|
|
});
|
|
}
|
|
|
|
const s2 = wb.getWorksheet("Einzelpositionen Detail");
|
|
if (s2) {
|
|
console.log("\n=== SHEET 2: Einzelpositionen Detail ===");
|
|
s2.eachRow((row, rowNumber) => {
|
|
console.log(`Row ${rowNumber}:`, JSON.stringify(row.values));
|
|
});
|
|
}
|
|
}
|
|
|
|
inspect().catch(console.error);
|