diff --git a/notNeededPackages.json b/notNeededPackages.json index 457498b676..4f21977e50 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -732,6 +732,12 @@ "sourceRepoURL": "https://code.google.com/p/x2js/", "asOfVersion": "3.1.0" }, + { + "libraryName": "xlsx", + "typingsPackageName": "xlsx", + "sourceRepoURL": "https://github.com/sheetjs/js-xlsx", + "asOfVersion": "0.0.36" + }, { "libraryName": "xml-js", "typingsPackageName": "xml-js", diff --git a/types/xlsx/index.d.ts b/types/xlsx/index.d.ts deleted file mode 100644 index 28de67c3de..0000000000 --- a/types/xlsx/index.d.ts +++ /dev/null @@ -1,287 +0,0 @@ -// Type definitions for xlsx -// Project: https://github.com/SheetJS/js-xlsx -// Definitions by: themauveavenger -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -/** Attempts to read filename and parse */ -export declare function readFile(filename: string, opts?: IParsingOptions): IWorkBook; -/** Attempts to parse data */ -export declare function read(data: any, opts?: IParsingOptions): IWorkBook; -/** Attempts to write workbook data to filename */ -export declare function writeFile(data: IWorkBook, filename: string, opts?: IWritingOptions): any; -/** Attempts to write the workbook data */ -export declare function write(data: IWorkBook, opts?: IWritingOptions): 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 { - /** - * Input data encoding - */ - type?: 'base64' | 'binary' | 'buffer' | 'array' | 'file'; - - /** - * 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; - - /** - * Save style/theme info to the .s field - * @default false - */ - cellStyles?: boolean; - - /** - * Store dates as type d (default is n) - * @default false - */ - cellDates?: boolean; - - /** - * Create cell objects for stub cells - * @default false - */ - sheetStubs?: boolean; - - /** - * 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 true, expose vbaProject.bin to vbaraw field - * @default false - */ - bookVBA?: boolean; - - /** - * If defined and file is encrypted, use password - * @default '' - */ - password?: string; -} - -export interface IWritingOptions { - /** - * Output data encoding - */ - type?: 'base64' | 'binary' | 'buffer' | 'file'; - - /** - * Store dates as type d (default is n) - * @default false - */ - cellDates?: boolean; - - /** - * Generate Shared String Table - * @default false - */ - bookSST?: boolean; - - /** - * Type of Workbook - * @default 'xlsx' - */ - bookType?: 'xlsx' | 'xlsm' | 'xlsb' | 'ods' | 'biff2' | 'fods' | 'csv'; - - /** - * Name of Worksheet for single-sheet formats - * @default '' - */ - sheet?: string; - - /** - * Use ZIP compression for ZIP-based formats - * @default false - */ - compression?: boolean; -} - -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 | any; -} - -export interface IWorkSheetCell { - /** - * The raw value of the cell. - */ - 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 - */ - t: 'b' | 'n' | 'e' | 's' | 'd'; - - /** - * 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?: string; - - /** - * HTML rendering of the rich text (if applicable) - */ - h?: 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?: Object; - - /** - * The style/theme of the cell (if applicable) - */ - s?: Object; -} - -export interface ICell { - /** Column number */ - c: number; - /** Row number */ - r: number; -} - -export interface IRange { - /** Starting cell */ - s: ICell; - /** Ending cell */ - e: ICell; -} - -export interface IUtils { - /** converts an array of arrays of JS data to a worksheet. */ - aoa_to_sheet(data: T[], opts?:any): IWorkSheet; - - /** Converts a worksheet object to an array of JSON objects */ - sheet_to_json(worksheet:IWorkSheet, opts?: { - raw?: boolean; - range?: any; - header?: "A"|number|string[]; - }):T[]; - /** Generates delimiter-separated-values output */ - sheet_to_csv(worksheet: IWorkSheet, options?: { FS: string, RS: string }): string; - /** Generates a list of the formulae (with value fallbacks) */ - sheet_to_formulae(worksheet: IWorkSheet):any; - - /** Converts 0-indexed cell address to A1 form */ - encode_cell(cell: ICell): 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: ICell, e: ICell): string; - - /** Converts A1 cell address to 0-indexed form */ - decode_cell(address: string): ICell; - /** 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): IRange; -} diff --git a/types/xlsx/tsconfig.json b/types/xlsx/tsconfig.json deleted file mode 100644 index c202db1ea3..0000000000 --- a/types/xlsx/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": [ - "es6", - "dom" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": false, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true - }, - "files": [ - "index.d.ts", - "xlsx-tests.ts" - ] -} \ No newline at end of file diff --git a/types/xlsx/xlsx-tests.ts b/types/xlsx/xlsx-tests.ts deleted file mode 100644 index 1817ec8acc..0000000000 --- a/types/xlsx/xlsx-tests.ts +++ /dev/null @@ -1,26 +0,0 @@ - -import xlsx = require('xlsx'); - -var options:xlsx.IParsingOptions = { - cellDates:true -}; - -var workbook = xlsx.readFile('test.xlsx', options); -var otherworkbook = xlsx.readFile('test.xlsx', {type: 'file'}); - -console.log(workbook.Props.Author); - -var firstsheet:string = workbook.SheetNames[0]; - -var firstworksheet = workbook.Sheets[firstsheet]; - -console.log(firstworksheet["A1"]); - -interface tester { - name:string; - age: number; -} - -var jsonvalues:tester[] = xlsx.utils.sheet_to_json(firstworksheet); -var csv = xlsx.utils.sheet_to_csv(firstworksheet); -var formulae = xlsx.utils.sheet_to_formulae(firstworksheet);