UNPKG

@grapecity-software/spread-excelio

Version:

SpreadJS Excel Import Export

146 lines (136 loc) 6.71 kB
declare module GC{ module Spread{ module Excel{ export class IO{ /** * Represents an excel import and export class. * @class */ constructor(); /** * Build in pivot table themes. * @type {{ [key: string]: any }} */ static pivotTableThemes: { [key: string]: any }; /** * Build in item slicer themes. * @type {{ [key: string]: any }} */ static slicerStyles: { [key: string]: any }; /** * Build in table themes. * @type {{ [key: string]: any }} */ static tableThemes: { [key: string]: any }; /** * Build in timeline slicer themes. * @type {{ [key: string]: any }} */ static timelineStyles: { [key: string]: any }; /** * Imports an excel file. * @param {Blob} file The excel file. * @param {function} successCallBack Call this function after successfully loading the file. `function (json) { }`. * @param {function} errorCallBack Call this function if an error occurs. The exception parameter object structure `{ errorCode: GC.Spread.Excel.IO.ErrorCode, errorMessage: string}`. * @param {GC.Spread.Excel.IO.OpenOptions} options The options for import excel. * @returns {void} * @example * ``` * var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss")); * var excelIO = new GC.Spread.Excel.IO(); * var excelFile = document.getElementById("fileDemo").files[0]; * excelIO.open(excelFile, function (json) { * workbook.fromJSON(json); * }, function (e) { * console.log(e); * }, { * password: "password", * importPictureAsFloatingObject: false * }); * ``` */ open(file: Blob, successCallBack: Function, errorCallBack?: Function, options?: GC.Spread.Excel.IO.OpenOptions): void; /** * Register a unknown max digit width info to ExcelIO. * @param {string} fontFamily The font family of default style's font. * @param {number} fontSize The font size of default style's font(in point). * @param {number} maxDigitWidth The max digit width of default style's font. * @returns {void} * @example * ``` * GC.Spread.Excel.IO.registerMaxDigitWidth("\ub3cb\uc6c0", 11, Math.floor(80/8.11)); * ``` */ registerMaxDigitWidth(fontFamily: string, fontSize: number, maxDigitWidth: number): void; /** * Creates and saves an excel file with the SpreadJS json. * @param {object} json The spread sheets json object, or string. * @param {function} successCallBack Call this function after successfully exporting the file. `function (blob) { }`. * @param {function} errorCallBack Call this function if an error occurs. The exception parameter object structure `{ errorCode: GC.Spread.Excel.IO.ErrorCode, errorMessage: string}`. * @param {GC.Spread.Excel.IO.SaveOptions} options The options for export excel. * @returns {void} * @example * ``` * var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss")); * var excelIO = new GC.Spread.Excel.IO(); * var json = JSON.stringify(workbook.toJSON()); * excelIO.save(json, function (blob) { * saveAs(blob, fileName); //saveAs is from FileSaver. * }, function (e) { * console.log(e); * }, { * password: "password", * xlsxStrictMode: false * }); * ``` */ save(json: string | object, successCallBack: Function, errorCallBack?: Function, options?: GC.Spread.Excel.IO.SaveOptions): void; } module IO{ /** * @typedef GC.Spread.Excel.IO.OpenOptions - The options for import excel. * @property {string} password the excel file's password. * @property {boolean} importPictureAsFloatingObject import picture as floatingObject instead of shape. */ export type OpenOptions = { password?: string; importPictureAsFloatingObject?: boolean; } /** * @typedef GC.Spread.Excel.IO.SaveOptions - The options for export excel. * @property {string} password the excel file's password. * @property {boolean} xlsxStrictMode the mode of exporting process, the non-strict mode may reduce the export size. Default is true. */ export type SaveOptions = { password?: string; xlsxStrictMode?: boolean; } /** * Specifies the excel io error code. * @enum {number} */ export enum ErrorCode{ /** * File read and write exception. */ fileIOError= 0, /** * Incorrect file format. */ fileFormatError= 1, /** * The Excel file cannot be opened because the workbook/worksheet is password protected. */ noPassword= 2, /** * The specified password is incorrect. */ invalidPassword= 3 } } } } } export = GC.Spread.Excel;