Skip to main content
Module

x/sheetjs/types/index.d.ts

πŸ“— SheetJS Community Edition -- Spreadsheet Data Toolkit
Extremely Popular
Latest
File
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872
/* index.d.ts (C) 2015-present SheetJS and contributors */// TypeScript Version: 2.2// import * as CFB from "cfb";// import * as SSF from "ssf";
/** Version string */export const version: string;
/** SSF Formatter Library */// export { SSF };export const SSF: any;
/** CFB Library */// export { CFB };export const CFB: any;
/** ESM ONLY! Set internal `fs` instance */export function set_fs(fs: any): void;/** ESM ONLY! Set internal codepage tables */export function set_cptable(cptable: any): void;
/** NODE ONLY! Attempts to read filename and parse */export function readFile(filename: string, opts?: ParsingOptions): WorkBook;/** Attempts to parse data */export function read(data: any, opts?: ParsingOptions): WorkBook;/** Attempts to write or download workbook data to file */export function writeFile(data: WorkBook, filename: string, opts?: WritingOptions): any;/** Attempts to write or download workbook data to XLSX file */export function writeFileXLSX(data: WorkBook, filename: string, opts?: WritingOptions): any;/** Attempts to write or download workbook data to file asynchronously */type CBFunc = () => void;export function writeFileAsync(filename: string, data: WorkBook, opts: WritingOptions | CBFunc, cb?: CBFunc): any;/** Attempts to write the workbook data */export function write(data: WorkBook, opts: WritingOptions): any;/** Attempts to write the workbook data as XLSX */export function writeXLSX(data: WorkBook, opts: WritingOptions): any;
/** Utility Functions */export const utils: XLSX$Utils;/** Stream Utility Functions */export const stream: StreamUtils;
/** Number Format (either a string or an index to the format table) */export type NumberFormat = string | number;
/** Worksheet specifier (string, number, worksheet) */export type WSSpec = string | number | WorkSheet;
/** Range specifier (string or range or cell), single-cell lifted to range */export type RangeSpec = string | Range | CellAddress;
/** Basic File Properties */export interface Properties { /** Summary tab "Title" */ Title?: string; /** Summary tab "Subject" */ Subject?: string; /** Summary tab "Author" */ Author?: string; /** Summary tab "Manager" */ Manager?: string; /** Summary tab "Company" */ Company?: string; /** Summary tab "Category" */ Category?: string; /** Summary tab "Keywords" */ Keywords?: string; /** Summary tab "Comments" */ Comments?: string; /** Statistics tab "Last saved by" */ LastAuthor?: string; /** Statistics tab "Created" */ CreatedDate?: Date;}
/** Other supported properties */export interface FullProperties extends Properties { ModifiedDate?: Date; Application?: string; AppVersion?: string; DocSecurity?: string; HyperlinksChanged?: boolean; SharedDoc?: boolean; LinksUpToDate?: boolean; ScaleCrop?: boolean; Worksheets?: number; SheetNames?: string[]; ContentStatus?: string; LastPrinted?: string; Revision?: string | number; Version?: string; Identifier?: string; Language?: string;}
export interface CommonOptions { /** * If true, throw errors when features are not understood * @default false */ WTF?: boolean;
/** * When reading a file with VBA macros, expose CFB blob to `vbaraw` field * When writing BIFF8/XLSB/XLSM, reseat `vbaraw` and export to file * @default false */ bookVBA?: boolean;
/** * When reading a file, store dates as type d (default is n) * When writing XLSX/XLSM file, use native date (default uses date codes) * @default false */ cellDates?: boolean;
/** * Create cell objects for stub cells * @default false */ sheetStubs?: boolean;
/** * When reading a file, save style/theme info to the .s field * When writing a file, export style/theme info * @default false */ cellStyles?: boolean;
/** * If defined and file is encrypted, use password * @default '' */ password?: string;}
export interface DateNFOption { /** Use specified date format */ dateNF?: NumberFormat;}
/** Options for read and readFile */export interface ParsingOptions extends CommonOptions { /** Input data encoding */ type?: 'base64' | 'binary' | 'buffer' | 'file' | 'array' | 'string';
/** Default codepage */ codepage?: number;
/** * Save formulae to the .f field * @default true */ cellFormula?: boolean;
/** * Parse rich text and save HTML to the .h field * @default true */ cellHTML?: boolean;
/** * Save number format string to the .z field * @default false */ cellNF?: boolean;
/** * Generate formatted text to the .w field * @default true */ cellText?: boolean;
/** Override default date format (code 14) */ dateNF?: string;
/** Field Separator ("Delimiter" override) */ FS?: string;
/** * If >0, read the first sheetRows rows * @default 0 */ sheetRows?: number;
/** * If true, parse calculation chains * @default false */ bookDeps?: boolean;
/** * If true, add raw files to book object * @default false */ bookFiles?: boolean;
/** * If true, only parse enough to get book metadata * @default false */ bookProps?: boolean;
/** * If true, only parse enough to get the sheet names * @default false */ bookSheets?: boolean;
/** If specified, only parse the specified sheets or sheet names */ sheets?: number | string | Array<number | string>;
/** If true, plaintext parsing will not parse values */ raw?: boolean;
/** If true, preserve _xlfn. prefixes in formula function names */ xlfn?: boolean;
dense?: boolean;
PRN?: boolean;}
export interface SheetOption { /** * Name of Worksheet (for single-sheet formats) * @default '' */ sheet?: string;}
/** Options for write and writeFile */export interface WritingOptions extends CommonOptions, SheetOption { /** Output data encoding */ type?: 'base64' | 'binary' | 'buffer' | 'file' | 'array' | 'string';
/** * Generate Shared String Table * @default false */ bookSST?: boolean;
/** * File format of generated workbook * @default 'xlsx' */ bookType?: BookType;
/** * Use ZIP compression for ZIP-based formats * @default false */ compression?: boolean;
/** * Suppress "number stored as text" errors in generated files * @default true */ ignoreEC?: boolean;
/** Override workbook properties on save */ Props?: Properties;}
/** Workbook Object */export interface WorkBook { /** * A dictionary of the worksheets in the workbook. * Use SheetNames to reference these. */ Sheets: { [sheet: string]: WorkSheet };
/** Ordered list of the sheet names in the workbook */ SheetNames: string[];
/** Standard workbook Properties */ Props?: FullProperties;
/** Custom workbook Properties */ Custprops?: object;
Workbook?: WBProps;
vbaraw?: any;}
export interface SheetProps { /** Name of Sheet */ name?: string;
/** Sheet Visibility (0=Visible 1=Hidden 2=VeryHidden) */ Hidden?: 0 | 1 | 2;
/** Name of Document Module in associated VBA Project */ CodeName?: string;}
/** Defined Name Object */export interface DefinedName { /** Name */ Name: string;
/** Reference */ Ref: string;
/** Scope (undefined for workbook scope) */ Sheet?: number;
/** Name comment */ Comment?: string;}
/** Workbook-Level Attributes */export interface WBProps { /** Sheet Properties */ Sheets?: SheetProps[];
/** Defined Names */ Names?: DefinedName[];
/** Workbook Views */ Views?: WBView[];
/** Other Workbook Properties */ WBProps?: WorkbookProperties;}
/** Workbook View */export interface WBView { /** Right-to-left mode */ RTL?: boolean;}
/** Other Workbook Properties */export interface WorkbookProperties { /** Worksheet Epoch (1904 if true, 1900 if false) */ date1904?: boolean;
/** Warn or strip personally identifying info on save */ filterPrivacy?: boolean;
/** Name of Document Module in associated VBA Project */ CodeName?: string;}
/** Column Properties Object */export interface ColInfo { /* --- visibility --- */
/** if true, the column is hidden */ hidden?: boolean;
/* --- column width --- */
/** width in Excel's "Max Digit Width", width*256 is integral */ width?: number;
/** width in screen pixels */ wpx?: number;
/** width in "characters" */ wch?: number;
/** outline / group level */ level?: number;
/** Excel's "Max Digit Width" unit, always integral */ MDW?: number;}
/** Row Properties Object */export interface RowInfo { /* --- visibility --- */
/** if true, the column is hidden */ hidden?: boolean;
/* --- row height --- */
/** height in screen pixels */ hpx?: number;
/** height in points */ hpt?: number;
/** outline / group level */ level?: number;}
/** * Write sheet protection properties. */export interface ProtectInfo { /** * The password for formats that support password-protected sheets * (XLSX/XLSB/XLS). The writer uses the XOR obfuscation method. */ password?: string; /** * Select locked cells * @default: true */ selectLockedCells?: boolean; /** * Select unlocked cells * @default: true */ selectUnlockedCells?: boolean; /** * Format cells * @default: false */ formatCells?: boolean; /** * Format columns * @default: false */ formatColumns?: boolean; /** * Format rows * @default: false */ formatRows?: boolean; /** * Insert columns * @default: false */ insertColumns?: boolean; /** * Insert rows * @default: false */ insertRows?: boolean; /** * Insert hyperlinks * @default: false */ insertHyperlinks?: boolean; /** * Delete columns * @default: false */ deleteColumns?: boolean; /** * Delete rows * @default: false */ deleteRows?: boolean; /** * Sort * @default: false */ sort?: boolean; /** * Filter * @default: false */ autoFilter?: boolean; /** * Use PivotTable reports * @default: false */ pivotTables?: boolean; /** * Edit objects * @default: true */ objects?: boolean; /** * Edit scenarios * @default: true */ scenarios?: boolean;}
/** Page Margins -- see Excel Page Setup .. Margins diagram for explanation */export interface MarginInfo { /** Left side margin (inches) */ left?: number; /** Right side margin (inches) */ right?: number; /** Top side margin (inches) */ top?: number; /** Bottom side margin (inches) */ bottom?: number; /** Header top margin (inches) */ header?: number; /** Footer bottom height (inches) */ footer?: number;}export type SheetType = 'sheet' | 'chart';export type SheetKeys = string | MarginInfo | SheetType;/** General object representing a Sheet (worksheet or chartsheet) */export interface Sheet { /** * Indexing with a cell address string maps to a cell object * Special keys start with '!' */ [cell: string]: CellObject | SheetKeys | any;
/** Sheet type */ '!type'?: SheetType;
/** Sheet Range */ '!ref'?: string;
/** Page Margins */ '!margins'?: MarginInfo;}
/** AutoFilter properties */export interface AutoFilterInfo { /** Range of the AutoFilter table */ ref: string;}
export type WSKeys = SheetKeys | ColInfo[] | RowInfo[] | Range[] | ProtectInfo | AutoFilterInfo;
/** Worksheet Object */export interface WorkSheet extends Sheet { /** * Indexing with a cell address string maps to a cell object * Special keys start with '!' */ [cell: string]: CellObject | WSKeys | any;
/** Column Info */ '!cols'?: ColInfo[];
/** Row Info */ '!rows'?: RowInfo[];
/** Merge Ranges */ '!merges'?: Range[];
/** Worksheet Protection info */ '!protect'?: ProtectInfo;
/** AutoFilter info */ '!autofilter'?: AutoFilterInfo;}
/** * Worksheet Object with CellObject type * * The normal Worksheet type uses indexer of type `any` -- this enforces CellObject */export interface StrictWS { [addr: string]: CellObject; }
/** * The Excel data type for a cell. * b Boolean, n Number, e error, s String, d Date, z Stub */export type ExcelDataType = 'b' | 'n' | 'e' | 's' | 'd' | 'z';
/** * Type of generated workbook * @default 'xlsx' */export type BookType = 'xlsx' | 'xlsm' | 'xlsb' | 'xls' | 'xla' | 'biff8' | 'biff5' | 'biff2' | 'xlml' | 'ods' | 'fods' | 'csv' | 'txt' | 'sylk' | 'slk' | 'html' | 'dif' | 'rtf' | 'prn' | 'eth' | 'dbf';
/** Comment element */export interface Comment { /** Author of the comment block */ a?: string;
/** Plaintext of the comment */ t: string;}
/** Cell comments */export interface Comments extends Array<Comment> { /** Hide comment by default */ hidden?: boolean;}
/** Link object */export interface Hyperlink { /** Target of the link (HREF) */ Target: string;
/** Plaintext tooltip to display when mouse is over cell */ Tooltip?: string;}
/** Worksheet Cell Object */export interface CellObject { /** The raw value of the cell. Can be omitted if a formula is specified */ v?: string | number | boolean | Date;
/** Formatted text (if applicable) */ w?: string;
/** * The Excel Data Type of the cell. * b Boolean, n Number, e Error, s String, d Date, z Empty */ t: ExcelDataType;
/** Cell formula (if applicable) */ f?: string;
/** Range of enclosing array if formula is array formula (if applicable) */ F?: string;
/** Rich text encoding (if applicable) */ r?: any;
/** HTML rendering of the rich text (if applicable) */ h?: string;
/** Comments associated with the cell */ c?: Comments;
/** Number format string associated with the cell (if requested) */ z?: NumberFormat;
/** Cell hyperlink object (.Target holds link, .tooltip is tooltip) */ l?: Hyperlink;
/** The style/theme of the cell (if applicable) */ s?: any;}
/** Simple Cell Address */export interface CellAddress { /** Column number */ c: number; /** Row number */ r: number;}
/** Range object (representing ranges like "A1:B2") */export interface Range { /** Starting cell */ s: CellAddress; /** Ending cell */ e: CellAddress;}
export interface Sheet2CSVOpts extends DateNFOption { /** Field Separator ("delimiter") */ FS?: string;
/** Record Separator ("row separator") */ RS?: string;
/** Remove trailing field separators in each record */ strip?: boolean;
/** Include blank lines in the CSV output */ blankrows?: boolean;
/** Skip hidden rows and columns in the CSV output */ skipHidden?: boolean;
/** Force quotes around fields */ forceQuotes?: boolean;
/** if true, return raw numbers; if false, return formatted numbers */ rawNumbers?: boolean;}
export interface OriginOption { /** Top-Left cell for operation (CellAddress or A1 string or row) */ origin?: number | string | CellAddress;}
export interface Sheet2HTMLOpts { /** TABLE element id attribute */ id?: string;
/** Add contenteditable to every cell */ editable?: boolean;
/** Header HTML */ header?: string;
/** Footer HTML */ footer?: string;}
export interface Sheet2JSONOpts extends DateNFOption { /** Output format */ header?: "A"|number|string[];
/** Override worksheet range */ range?: any;
/** Include or omit blank lines in the output */ blankrows?: boolean;
/** Default value for null/undefined values */ defval?: any;
/** if true, return raw data; if false, return formatted text */ raw?: boolean;
/** if true, return raw numbers; if false, return formatted numbers */ rawNumbers?: boolean;}
export interface AOA2SheetOpts extends CommonOptions, DateNFOption { /** * Create cell objects for stub cells * @default false */ sheetStubs?: boolean;}
export interface SheetAOAOpts extends AOA2SheetOpts, OriginOption {}
export interface JSON2SheetOpts extends CommonOptions, DateNFOption { /** Use specified column order */ header?: string[];
/** Skip header row in generated sheet */ skipHeader?: boolean;}
export interface SheetJSONOpts extends JSON2SheetOpts, OriginOption {}
export interface Table2SheetOpts extends CommonOptions, DateNFOption, OriginOption, SheetOption { /** If true, plaintext parsing will not parse values */ raw?: boolean;
/** * If >0, read the first sheetRows rows * @default 0 */ sheetRows?: number;
/** If true, hidden rows and cells will not be parsed */ display?: boolean;}
/** General utilities */export interface XLSX$Utils { /* --- Import Functions --- */
/** Converts an array of arrays of JS data to a worksheet. */ aoa_to_sheet<T>(data: T[][], opts?: AOA2SheetOpts): WorkSheet; aoa_to_sheet(data: any[][], opts?: AOA2SheetOpts): WorkSheet;
/** Converts an array of JS objects to a worksheet. */ json_to_sheet<T>(data: T[], opts?: JSON2SheetOpts): WorkSheet; json_to_sheet(data: any[], opts?: JSON2SheetOpts): WorkSheet;
/** BROWSER ONLY! Converts a TABLE DOM element to a worksheet. */ table_to_sheet(data: any, opts?: Table2SheetOpts): WorkSheet; table_to_book(data: any, opts?: Table2SheetOpts): WorkBook; sheet_add_dom(ws: WorkSheet, data: any, opts?: Table2SheetOpts): WorkSheet;
/* --- Export Functions --- */
/** Converts a worksheet object to an array of JSON objects */ sheet_to_json<T>(worksheet: WorkSheet, opts?: Sheet2JSONOpts): T[]; sheet_to_json(worksheet: WorkSheet, opts?: Sheet2JSONOpts): any[][]; sheet_to_json(worksheet: WorkSheet, opts?: Sheet2JSONOpts): any[];
/** Generates delimiter-separated-values output */ sheet_to_csv(worksheet: WorkSheet, options?: Sheet2CSVOpts): string;
/** Generates UTF16 Formatted Text */ sheet_to_txt(worksheet: WorkSheet, options?: Sheet2CSVOpts): string;
/** Generates HTML */ sheet_to_html(worksheet: WorkSheet, options?: Sheet2HTMLOpts): string;
/** Generates a list of the formulae (with value fallbacks) */ sheet_to_formulae(worksheet: WorkSheet): string[];
/** Generates DIF */ sheet_to_dif(worksheet: WorkSheet, options?: Sheet2HTMLOpts): string;
/** Generates SYLK (Symbolic Link) */ sheet_to_slk(worksheet: WorkSheet, options?: Sheet2HTMLOpts): string;
/** Generates ETH */ sheet_to_eth(worksheet: WorkSheet, options?: Sheet2HTMLOpts): string;
/* --- Cell Address Utilities --- */
/** Converts 0-indexed cell address to A1 form */ encode_cell(cell: CellAddress): string;
/** Converts 0-indexed row to A1 form */ encode_row(row: number): string;
/** Converts 0-indexed column to A1 form */ encode_col(col: number): string;
/** Converts 0-indexed range to A1 form */ encode_range(s: CellAddress, e: CellAddress): string; encode_range(r: Range): string;
/** Converts A1 cell address to 0-indexed form */ decode_cell(address: string): CellAddress;
/** Converts A1 row to 0-indexed form */ decode_row(row: string): number;
/** Converts A1 column to 0-indexed form */ decode_col(col: string): number;
/** Converts A1 range to 0-indexed form */ decode_range(range: string): Range;
/** Format cell */ format_cell(cell: CellObject, v?: any, opts?: any): string;
/* --- General Utilities --- */
/** Creates a new workbook */ book_new(): WorkBook;
/** Append a worksheet to a workbook */ book_append_sheet(workbook: WorkBook, worksheet: WorkSheet, name?: string): void;
/** Set sheet visibility (visible/hidden/very hidden) */ book_set_sheet_visibility(workbook: WorkBook, sheet: number|string, visibility: number): void;
/** Set number format for a cell */ cell_set_number_format(cell: CellObject, fmt: string|number): CellObject;
/** Set hyperlink for a cell */ cell_set_hyperlink(cell: CellObject, target: string, tooltip?: string): CellObject;
/** Set internal link for a cell */ cell_set_internal_link(cell: CellObject, target: string, tooltip?: string): CellObject;
/** Add comment to a cell */ cell_add_comment(cell: CellObject, text: string, author?: string): void;
/** Assign an Array Formula to a range */ sheet_set_array_formula(ws: WorkSheet, range: Range|string, formula: string, dynamic?: boolean): WorkSheet;
/** Add an array of arrays of JS data to a worksheet */ sheet_add_aoa<T>(ws: WorkSheet, data: T[][], opts?: SheetAOAOpts): WorkSheet; sheet_add_aoa(ws: WorkSheet, data: any[][], opts?: SheetAOAOpts): WorkSheet;
/** Add an array of JS objects to a worksheet */ sheet_add_json(ws: WorkSheet, data: any[], opts?: SheetJSONOpts): WorkSheet; sheet_add_json<T>(ws: WorkSheet, data: T[], opts?: SheetJSONOpts): WorkSheet;

consts: XLSX$Consts;}
export interface XLSX$Consts { /* --- Sheet Visibility --- */
/** Visibility: Visible */ SHEET_VISIBLE: 0;
/** Visibility: Hidden */ SHEET_HIDDEN: 1;
/** Visibility: Very Hidden */ SHEET_VERYHIDDEN: 2;}
/** NODE ONLY! these return Readable Streams */export interface StreamUtils { /** CSV output stream, generate one line at a time */ to_csv(sheet: WorkSheet, opts?: Sheet2CSVOpts): any; /** HTML output stream, generate one line at a time */ to_html(sheet: WorkSheet, opts?: Sheet2HTMLOpts): any; /** JSON object stream, generate one row at a time */ to_json(sheet: WorkSheet, opts?: Sheet2JSONOpts): any;}