ASP.NET Core MVC Controls | ComponentOne
In This Topic
    Workbook Class
    In This Topic
    File
    wijmo.xlsx.js
    Module
    wijmo.xlsx
    Implements
    IWorkbook

    Represents an Excel workbook.

    Constructor

    constructor

    constructor(): void
    

    Initializes a new instance of the Workbook class.

    Returns
    void

    Properties

    activeWorksheet

    Gets or sets the index of the active sheet in the xlsx file.

    Type
    number

    application

    Gets or sets the name of application that generated the file that appears in the file properties.

    Type
    string

    colorThemes

    Gets the color of the workbook themes.

    Type
    string[]

    company

    Gets or sets the name of company that generated the file that appears in the file properties.

    Type
    string

    created

    Gets or sets the creation time of the xlsx file.

    Type
    Date

    creator

    Gets or sets the creator of the xlsx file.

    Type
    string

    definedNames

    Gets the defined name items of the workbook.

    Type
    DefinedName[]

    lastModifiedBy

    Gets or sets the last modifier of the xlsx file.

    Type
    string

    modified

    Gets or sets the last modified time of the xlsx file.

    Type
    Date

    reservedContent

    Gets or sets the reserved content from xlsx file that flexgrid or flexsheet doesn't support yet.

    Type
    any

    sheets

    Gets the WorkSheet array of the workbook.

    Type
    WorkSheet[]

    styles

    Gets the styles table of the workbook.

    Type
    WorkbookStyle[]

    Methods

    cancelAsync

    cancelAsync(done?: ()): void
    

    Cancels the export started by the saveAsync method.

    Parameters
    • done: () Optional

      Callback invoked when the method finishes executing.

    Returns
    void

    Static fromXlsxFormat

    fromXlsxFormat(xlsxFormat: string): string[]
    

    Converts the xlsx multi-section format string to an array of corresponding wijmo formats.

    Parameters
    • xlsxFormat: string

      The Excel format string, that may contain multiple format sections separated by a semicolon.

    Returns
    string[]

    load

    load(data: string | ArrayBuffer, includeStyles?: boolean): void
    

    Loads from ArrayBuffer, base-64 string or data url. This method works with JSZip version 2.* only.

    For example:

    // This sample opens an xlsx file chosen from Open File
    // dialog and creates a workbook instance to load the file.
     
    
    // HTML
    <input type="file" 
        id="importFile" 
        accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" 
    />
     
    
    // JavaScript
    var workbook, // receives imported IWorkbook
        importFile = document.getElementById('importFile');
     
    importFile.addEventListener('change', function () {
        loadWorkbook();
    });
     
    function loadWorkbook() {
        var reader,
            workbook,
            file = importFile.files[0];
        if (file) {
            reader = new FileReader();
            reader.onload = function (e) {
               workbook = new wijmo.xlsx.Workbook(),
               workbook.load(reader.result);
            };
            reader.readAsDataURL(file);
        }
    }
    
    Parameters
    • data: string | ArrayBuffer

      ArrayBuffer or base-64 string that contains the xlsx file content.

    • includeStyles: boolean Optional

      Indicates whether styles should be imported from xlsx file. The default value is **true**.

    Returns
    void

    loadAsync

    loadAsync(data: string | ArrayBuffer, onLoaded?: (workbook: Workbook), onError?: (reason?: any), includeStyles?: boolean): void
    

    Loads from ArrayBuffer or base-64 string or data url asynchronously. This method works with JSZip version 3.* only.

    Parameters
    • data: string | ArrayBuffer

      ArrayBuffer or base-64 string that contains the xlsx file content.

    • onLoaded: (workbook: Workbook) Optional

      This callback provides an approach to get an instance of the loaded workbook. Since this method is an asynchronous method, user is not able to get instance of the loaded workbook immediately. User has to get the instance through this callback. This has a single parameter, instance of the loaded workbook. It will be passed to user.

    • onError: (reason?: any) Optional

      This callback catches error information when loading. This has a single parameter, the failure reason. Return value is be passed to user, if he wants to catch the load failure reason.

      For example:

      workbook.loadAsync(base64, function (workbook) {
      
           // User can access the loaded workbook instance in this callback.
           var app = worksheet.application ;
           ...
      }, function (reason) {
      
           // User can catch the failure reason in this callback.
           console.log('The reason of load failure is ' + reason);
      });
      
    • includeStyles: boolean Optional

      Indicates whether styles should be imported from xlsx file. The default value is **true**.

    Returns
    void

    save

    save(fileName?: string): string
    

    Saves the book to a file and returns a base-64 string representation of the book. This method works with JSZip version 2.* only.

    For example, this sample creates an xlsx file with a single cell:

    function exportXlsx(fileName) {
        var book = new wijmo.xlsx.Workbook(),
            sheet = new wijmo.xlsx.WorkSheet(),
            bookRow = new wijmo.xlsx.WorkbookRow(),
            bookCell = new wijmo.xlsx.WorkbookCell();
        bookCell.value = 'Hello, Excel!';
        bookRow.cells.push(bookCell);
        sheet.rows.push(bookRow);
        book.sheets.push(sheet);
        book.save(fileName);
    }
    

    The file name is optional. If not provided, the method still returns a base-64 string representing the book. This string can be used for further processing on the client or on the server.

    Parameters
    • fileName: string Optional

      Name of the xlsx file to save.

    Returns
    string

    saveAsync

    saveAsync(fileName?: string, onSaved?: (base64?: string), onError?: (reason?: any), onProgress?: (value: number)): void
    

    Saves the book to a file asynchronously. This method works with JSZip version 3.* only.

    Parameters
    • fileName: string Optional

      Name of the xlsx file to save.

    • onSaved: (base64?: string) Optional

      This callback provides an approach to get the base-64 string that represents the content of the saved workbook. Since this method is an asynchronous method, user does not get the base-64 string immediately. User has to get the base-64 string via this callback. This has a single parameter, the base-64 string of the saved workbook. It will be passed to user.

    • onError: (reason?: any) Optional

      This callback catches error information when saving. This has a single parameter, the failure reason. Return value will be passed to user, if he wants to catch the save failure reason.

    • onProgress: (value: number) Optional

      Callback function that gives feedback about the progress of a task. The function accepts a single argument, the current progress as a number between 0 and 100.

      For example:

      workbook.saveAsync('', function (base64){
      
           // User can access the base64 string in this callback.
           document.getElementByID('export').href = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;' + 'base64,' + base64;
      }, function (reason){
      
           // User can catch the failure reason in this callback.
           console.log('The reason of save failure is ' + reason);
      });
      
    Returns
    void

    Static tableAddress

    tableAddress(xlsxIndex: string): ITableAddress
    

    Convert Excel's alphanumeric cell, row or column index to the zero-based row/column indices pair.

    Parameters
    • xlsxIndex: string

      The alphanumeric Excel index that may include alphabetic A-based column index and/or numeric 1-based row index, like "D15", "D" or "15". The alphabetic column index can be in lower or upper case.

    Returns
    ITableAddress

    Static toXlsxDateFormat

    toXlsxDateFormat(format: string): string
    

    Converts the wijmo date format to Excel format.

    Parameters
    • format: string

      The wijmo date format.

    Returns
    string

    Static toXlsxNumberFormat

    toXlsxNumberFormat(format: string): string
    

    Converts the wijmo number format to xlsx format.

    Parameters
    • format: string

      The wijmo number format.

    Returns
    string

    Static xlsxAddress

    xlsxAddress(row: number, col: number, absolute?: boolean, absoluteCol?: boolean, isWholeRow?: boolean): string
    

    Converts zero-based cell, row or column index to Excel alphanumeric representation.

    Parameters
    • row: number

      The zero-based row index or a null value if only column index is to be converted.

    • col: number

      The zero-based column index or a null value if only row index is to be converted.

    • absolute: boolean Optional

      True value indicates that absolute indices is to be returned for both, row and column (like $D$7). The absoluteCol parameter allows to redefine this value for the column index.

    • absoluteCol: boolean Optional

      True value indicates that column index is absolute.

    • isWholeRow: boolean Optional

      Indicates whether the Cell reference is whole row, whole column or specific cell range. If isWholeRow is true means the cell reference is whole row. If isWholeRow is false means the cell reference is whole column. If isWholeRow is null means the cell reference is specific cell range.

    Returns
    string