forked from sheetjs/sheetjs
fix: Add DenseSheetData type (#3195)
This commit is contained in:
parent
5550b90704
commit
6912bdb2d4
@ -4,7 +4,7 @@
|
||||
/* these are type imports and do not show up in the generated JS */
|
||||
import { CFB$Container, CFB$Entry } from 'cfb';
|
||||
import { WorkBook, WorkSheet, Range, CellObject, ParsingOptions, WritingOptions, DenseWorkSheet, Comments } from '../';
|
||||
import type { utils, NumberFormat } from "../";
|
||||
import type { utils, NumberFormat, DenseSheetData } from "../";
|
||||
|
||||
declare var encode_col: typeof utils.encode_col;
|
||||
declare var encode_row: typeof utils.encode_row;
|
||||
@ -1697,7 +1697,7 @@ function write_numbers_tma(cfb: CFB$Container, deps: Dependents, ws: WorkSheet,
|
||||
if(trunc) console.error(`Truncating to ${encode_range(range)}`);
|
||||
|
||||
/* preprocess data and build up shared string table */
|
||||
var data: CellObject[][] = [];
|
||||
var data: DenseSheetData = [];
|
||||
if(ws["!data"]) data = ws["!data"];
|
||||
else {
|
||||
var colstr: string[] = [];
|
||||
@ -1708,7 +1708,7 @@ function write_numbers_tma(cfb: CFB$Container, deps: Dependents, ws: WorkSheet,
|
||||
for(_C = 0; _C <= range.e.c; ++_C) {
|
||||
var _cell = ws[colstr[_C] + _R];
|
||||
if(!_cell) continue;
|
||||
data[R_][_C] = _cell;
|
||||
data[R_]![_C] = _cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
18
types/index.d.ts
vendored
18
types/index.d.ts
vendored
@ -575,14 +575,14 @@ export interface Sheet {
|
||||
* Dense-mode store cells in the '!data' key
|
||||
* Special keys start with '!'
|
||||
*/
|
||||
[cell: string]: CellObject | CellObject[][] | SheetKeys | any;
|
||||
[cell: string]: CellObject | DenseSheetData | SheetKeys | any;
|
||||
|
||||
/**
|
||||
* Dense-mode worksheets store data in an array of arrays
|
||||
*
|
||||
* Cells are accessed with sheet['!data'][R][C] (where R and C are 0-indexed)
|
||||
*/
|
||||
'!data'?: CellObject[][];
|
||||
'!data'?: DenseSheetData;
|
||||
|
||||
/** Sheet type */
|
||||
'!type'?: SheetType;
|
||||
@ -599,15 +599,16 @@ export interface DenseSheet extends Sheet {
|
||||
* Special keys start with '!'
|
||||
* Dense-mode worksheets store data in the '!data' key
|
||||
*/
|
||||
[cell: string]: CellObject[][] | SheetKeys | any;
|
||||
[cell: string]: DenseSheetData | SheetKeys | any;
|
||||
|
||||
/**
|
||||
* Dense-mode worksheets store data in an array of arrays
|
||||
*
|
||||
* Cells are accessed with sheet['!data'][R][C] (where R and C are 0-indexed)
|
||||
*/
|
||||
'!data': CellObject[][];
|
||||
'!data': DenseSheetData;
|
||||
}
|
||||
export type DenseSheetData = ((CellObject|undefined)[]|undefined)[];
|
||||
/** General object representing a sparse Sheet (worksheet or chartsheet) */
|
||||
export interface SparseSheet extends Sheet {
|
||||
/**
|
||||
@ -650,14 +651,7 @@ export interface WorkSheet extends Sheet {
|
||||
'!autofilter'?: AutoFilterInfo;
|
||||
}
|
||||
/** Dense Worksheet Object */
|
||||
export interface DenseWorkSheet extends DenseSheet {
|
||||
/**
|
||||
* Dense-mode worksheets store data in an array of arrays
|
||||
*
|
||||
* Cells are accessed with sheet['!data'][R][C] (where R and C are 0-indexed)
|
||||
*/
|
||||
'!data': CellObject[][];
|
||||
}
|
||||
export interface DenseWorkSheet extends DenseSheet {}
|
||||
|
||||
/**
|
||||
* Worksheet Object with CellObject type
|
||||
|
Loading…
Reference in New Issue
Block a user