forked from sheetjs/sheetjs
153 lines
3.4 KiB
TypeScript
153 lines
3.4 KiB
TypeScript
// Type definitions for xlsx
|
|
// Project: https://github.com/SheetJS/js-xlsx
|
|
// Definitions by: themauveavenger <https://github.com/themauveavenger/>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
export declare function readFile(filename: string, opts?: IParsingOptions): IWorkBook;
|
|
export declare function read(data: any, opts?: IParsingOptions): IWorkBook;
|
|
export declare function write(data: any, opts?: IParsingOptions): any;
|
|
export declare var utils: IUtils;
|
|
|
|
export interface IProperties {
|
|
LastAuthor?: string
|
|
Author?: string;
|
|
CreatedDate?: Date;
|
|
ModifiedDate?: Date
|
|
Application?: string;
|
|
AppVersion?: string;
|
|
Company?: string;
|
|
DocSecurity?: string;
|
|
Manager?: string;
|
|
HyperlinksChanged?: boolean;
|
|
SharedDoc?: boolean;
|
|
LinksUpToDate?: boolean;
|
|
ScaleCrop?: boolean;
|
|
Worksheets?: number;
|
|
SheetNames?: string[];
|
|
}
|
|
|
|
export interface IParsingOptions {
|
|
cellFormula?: boolean;
|
|
cellHTML?: boolean;
|
|
cellNF?: boolean;
|
|
cellStyles?: boolean;
|
|
cellDates?: boolean;
|
|
sheetStubs?: boolean;
|
|
sheetRows?: number;
|
|
bookDeps?: boolean;
|
|
bookFiles?: boolean;
|
|
bookProps?: boolean;
|
|
bookSheets?: boolean;
|
|
bookVBA?: boolean;
|
|
password?: string;
|
|
bookType?: string;
|
|
|
|
/**
|
|
* Possible options: 'binary', 'base64', 'buffer', 'file'
|
|
*/
|
|
type?: string;
|
|
}
|
|
|
|
export interface IWorkBook {
|
|
/**
|
|
* A dictionary of the worksheets in the workbook.
|
|
* Use SheetNames to reference these.
|
|
*/
|
|
Sheets: { [sheet: string]: IWorkSheet };
|
|
|
|
/**
|
|
* ordered list of the sheet names in the workbook
|
|
*/
|
|
SheetNames: string[];
|
|
|
|
/**
|
|
* an object storing the standard properties. wb.Custprops stores custom properties.
|
|
* Since the XLS standard properties deviate from the XLSX standard, XLS parsing stores core properties in both places.
|
|
*/
|
|
Props: IProperties;
|
|
}
|
|
|
|
/**
|
|
* object representing the worksheet
|
|
*/
|
|
export interface IWorkSheet {
|
|
[cell: string]: IWorkSheetCell;
|
|
}
|
|
|
|
export interface IWorkSheetCell {
|
|
/**
|
|
* The Excel Data Type of the cell.
|
|
* b Boolean, n Number, e error, s String, d Date
|
|
*/
|
|
t: string;
|
|
|
|
/**
|
|
* The raw value of the cell.
|
|
*/
|
|
v: string;
|
|
|
|
/**
|
|
* rich text encoding (if applicable)
|
|
*/
|
|
r?: string;
|
|
|
|
/**
|
|
* HTML rendering of the rich text (if applicable)
|
|
*/
|
|
h?: string;
|
|
|
|
/**
|
|
* formatted text (if applicable)
|
|
*/
|
|
w?: string;
|
|
|
|
/**
|
|
* cell formula (if applicable)
|
|
*/
|
|
f?: string;
|
|
|
|
/**
|
|
* comments associated with the cell **
|
|
*/
|
|
c?: string;
|
|
|
|
/**
|
|
* number format string associated with the cell (if requested)
|
|
*/
|
|
z?: string;
|
|
|
|
/**
|
|
* cell hyperlink object (.Target holds link, .tooltip is tooltip)
|
|
*/
|
|
l?: string;
|
|
|
|
/**
|
|
* the style/theme of the cell (if applicable)
|
|
*/
|
|
s?: string;
|
|
}
|
|
|
|
export interface ICell {
|
|
c: number;
|
|
r: number;
|
|
}
|
|
|
|
export interface IRange {
|
|
s: ICell;
|
|
e: ICell;
|
|
}
|
|
|
|
export interface IUtils {
|
|
sheet_to_json<T>(worksheet:IWorkSheet, opts?: {
|
|
raw?: boolean;
|
|
range?: any;
|
|
header?: "A"|number|string[];
|
|
}):T[];
|
|
sheet_to_csv(worksheet: IWorkSheet):any;
|
|
sheet_to_formulae(worksheet: IWorkSheet):any;
|
|
encode_cell(cell: ICell): any;
|
|
encode_range(s: ICell, e: ICell): any;
|
|
decode_cell(address: string): ICell;
|
|
decode_range(range: string): IRange;
|
|
}
|