juxscript 1.1.200 → 1.1.201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabularDriver.d.ts","sourceRoot":"","sources":["TabularDriver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TabularDriver.d.ts","sourceRoot":"","sources":["TabularDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -521,16 +521,17 @@ export class TabularDriver {
|
|
|
521
521
|
}
|
|
522
522
|
const range = XLSX.utils.decode_range(ref);
|
|
523
523
|
const totalRows = range.e.r - range.s.r + 1;
|
|
524
|
+
const totalCols = range.e.c - range.s.c + 1;
|
|
524
525
|
if (totalRows === 0) {
|
|
525
526
|
processedSheets++;
|
|
526
527
|
continue;
|
|
527
528
|
}
|
|
528
|
-
//
|
|
529
|
+
// Get all data as raw arrays (header: 1 returns array of arrays)
|
|
529
530
|
const rawData = XLSX.utils.sheet_to_json(worksheet, {
|
|
530
|
-
header: 1,
|
|
531
|
+
header: 1,
|
|
531
532
|
defval: null,
|
|
532
533
|
raw: false,
|
|
533
|
-
blankrows: true
|
|
534
|
+
blankrows: true
|
|
534
535
|
});
|
|
535
536
|
if (rawData.length === 0) {
|
|
536
537
|
processedSheets++;
|
|
@@ -538,20 +539,33 @@ export class TabularDriver {
|
|
|
538
539
|
}
|
|
539
540
|
// Validate headerRow is within bounds
|
|
540
541
|
if (headerRow >= rawData.length) {
|
|
541
|
-
console.warn(`[TabularDriver] headerRow ${headerRow} exceeds data length ${rawData.length}
|
|
542
|
+
console.warn(`[TabularDriver] headerRow ${headerRow} exceeds data length ${rawData.length}`);
|
|
542
543
|
processedSheets++;
|
|
543
544
|
continue;
|
|
544
545
|
}
|
|
545
|
-
//
|
|
546
|
+
// Get the header row data - ensure we have all columns
|
|
546
547
|
const headerRowData = rawData[headerRow] || [];
|
|
547
|
-
|
|
548
|
+
// Determine the maximum number of columns across all rows
|
|
549
|
+
let maxCols = totalCols;
|
|
550
|
+
for (let i = headerRow; i < Math.min(rawData.length, headerRow + 100); i++) {
|
|
551
|
+
if (rawData[i] && rawData[i].length > maxCols) {
|
|
552
|
+
maxCols = rawData[i].length;
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
// Build headers array with proper length
|
|
556
|
+
const headers = [];
|
|
557
|
+
for (let j = 0; j < maxCols; j++) {
|
|
558
|
+
const h = headerRowData[j];
|
|
548
559
|
if (h === null || h === undefined || String(h).trim() === '') {
|
|
549
|
-
|
|
560
|
+
headers.push(`__EMPTY${j > 0 ? '_' + j : ''}`);
|
|
550
561
|
}
|
|
551
|
-
|
|
552
|
-
|
|
562
|
+
else {
|
|
563
|
+
headers.push(String(h).trim());
|
|
564
|
+
}
|
|
565
|
+
}
|
|
553
566
|
// Ensure we have at least one valid header
|
|
554
|
-
|
|
567
|
+
const validHeaders = headers.filter(h => !h.startsWith('__EMPTY'));
|
|
568
|
+
if (validHeaders.length === 0) {
|
|
555
569
|
console.warn(`[TabularDriver] No valid headers found at row ${headerRow}`);
|
|
556
570
|
processedSheets++;
|
|
557
571
|
continue;
|
|
@@ -570,9 +584,11 @@ export class TabularDriver {
|
|
|
570
584
|
continue;
|
|
571
585
|
}
|
|
572
586
|
const row = {};
|
|
573
|
-
headers.
|
|
574
|
-
|
|
575
|
-
|
|
587
|
+
for (let j = 0; j < headers.length; j++) {
|
|
588
|
+
const header = headers[j];
|
|
589
|
+
const cellValue = j < rowData.length ? rowData[j] : null;
|
|
590
|
+
row[header] = cellValue;
|
|
591
|
+
}
|
|
576
592
|
rows.push(row);
|
|
577
593
|
}
|
|
578
594
|
if (rows.length > 0) {
|
|
@@ -647,18 +647,19 @@ export class TabularDriver {
|
|
|
647
647
|
|
|
648
648
|
const range = XLSX.utils.decode_range(ref);
|
|
649
649
|
const totalRows = range.e.r - range.s.r + 1;
|
|
650
|
+
const totalCols = range.e.c - range.s.c + 1;
|
|
650
651
|
|
|
651
652
|
if (totalRows === 0) {
|
|
652
653
|
processedSheets++;
|
|
653
654
|
continue;
|
|
654
655
|
}
|
|
655
656
|
|
|
656
|
-
//
|
|
657
|
+
// Get all data as raw arrays (header: 1 returns array of arrays)
|
|
657
658
|
const rawData: any[][] = XLSX.utils.sheet_to_json(worksheet, {
|
|
658
|
-
header: 1,
|
|
659
|
+
header: 1,
|
|
659
660
|
defval: null,
|
|
660
661
|
raw: false,
|
|
661
|
-
blankrows: true
|
|
662
|
+
blankrows: true
|
|
662
663
|
});
|
|
663
664
|
|
|
664
665
|
if (rawData.length === 0) {
|
|
@@ -668,22 +669,36 @@ export class TabularDriver {
|
|
|
668
669
|
|
|
669
670
|
// Validate headerRow is within bounds
|
|
670
671
|
if (headerRow >= rawData.length) {
|
|
671
|
-
console.warn(`[TabularDriver] headerRow ${headerRow} exceeds data length ${rawData.length}
|
|
672
|
+
console.warn(`[TabularDriver] headerRow ${headerRow} exceeds data length ${rawData.length}`);
|
|
672
673
|
processedSheets++;
|
|
673
674
|
continue;
|
|
674
675
|
}
|
|
675
676
|
|
|
676
|
-
//
|
|
677
|
+
// Get the header row data - ensure we have all columns
|
|
677
678
|
const headerRowData = rawData[headerRow] || [];
|
|
678
|
-
|
|
679
|
+
|
|
680
|
+
// Determine the maximum number of columns across all rows
|
|
681
|
+
let maxCols = totalCols;
|
|
682
|
+
for (let i = headerRow; i < Math.min(rawData.length, headerRow + 100); i++) {
|
|
683
|
+
if (rawData[i] && rawData[i].length > maxCols) {
|
|
684
|
+
maxCols = rawData[i].length;
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
// Build headers array with proper length
|
|
689
|
+
const headers: string[] = [];
|
|
690
|
+
for (let j = 0; j < maxCols; j++) {
|
|
691
|
+
const h = headerRowData[j];
|
|
679
692
|
if (h === null || h === undefined || String(h).trim() === '') {
|
|
680
|
-
|
|
693
|
+
headers.push(`__EMPTY${j > 0 ? '_' + j : ''}`);
|
|
694
|
+
} else {
|
|
695
|
+
headers.push(String(h).trim());
|
|
681
696
|
}
|
|
682
|
-
|
|
683
|
-
});
|
|
697
|
+
}
|
|
684
698
|
|
|
685
699
|
// Ensure we have at least one valid header
|
|
686
|
-
|
|
700
|
+
const validHeaders = headers.filter(h => !h.startsWith('__EMPTY'));
|
|
701
|
+
if (validHeaders.length === 0) {
|
|
687
702
|
console.warn(`[TabularDriver] No valid headers found at row ${headerRow}`);
|
|
688
703
|
processedSheets++;
|
|
689
704
|
continue;
|
|
@@ -708,9 +723,11 @@ export class TabularDriver {
|
|
|
708
723
|
}
|
|
709
724
|
|
|
710
725
|
const row: Record<string, any> = {};
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
726
|
+
for (let j = 0; j < headers.length; j++) {
|
|
727
|
+
const header = headers[j];
|
|
728
|
+
const cellValue = j < rowData.length ? rowData[j] : null;
|
|
729
|
+
row[header] = cellValue;
|
|
730
|
+
}
|
|
714
731
|
rows.push(row);
|
|
715
732
|
}
|
|
716
733
|
|