FlexGridXlsxConverter Class
File
wijmo.grid.xlsx.js
Module
wijmo.grid.xlsx

This class provides static load and save methods for loading and saving FlexGrid controls from and to Excel xlsx files.

The example below shows how you can use the FlexGridXlsxConverter to export the content of a FlexGrid control to XLSX:

{@sample Grid/ImportExportPrint/Excel/Async/purejs Example}

Methods

Static cancelAsync

cancelAsync(done?: ()): void

Cancels the task started by the saveAsync method.

Parameters
  • done: () Optional

    Callback invoked when the method finishes executing.

Returns
void

Static load

load(grid: FlexGrid, workbook: Workbook, options?: IFlexGridXlsxOptions): void

Loads a Workbook instance or a Blob object containing xlsx file content to the FlexGrid instance. This method works with JSZip 2.5.

For example:

// This sample opens an xlsx file chosen through Open File
// dialog and fills FlexGrid with the content of the first

// sheet.
 

// HTML
<input type="file" 
    id="importFile" 
    accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" 
/>
<div id="flexHost"></>
 

// JavaScript
var flexGrid = new wijmo.grid.FlexGrid("#flexHost"),
    importFile = document.getElementById('importFile');
 
importFile.addEventListener('change', function () {
    loadWorkbook();
});
 
function loadWorkbook() {
    var reader,
        file = importFile.files[0];
    if (file) {
        reader = new FileReader();
        reader.onload = function (e) {
            wijmo.grid.xlsx.FlexGridXlsxConverter.load(flexGrid, reader.result,
                { includeColumnHeaders: true });
        };
        reader.readAsArrayBuffer(file);
    }
}
Parameters
Returns
void

Static loadAsync

loadAsync(grid: FlexGrid, workbook: string | ArrayBuffer | Blob | wijmo.xlsx.Workbook, options?: IFlexGridXlsxOptions, onLoaded?: Workbook), onError?: (reason?: any)): void

Asynchronously loads a Workbook or a Blob representing an xlsx file into a FlexGrid.

This method requires JSZip 3.0.

Parameters
  • grid: FlexGrid

    FlexGrid that loads the Workbook object.

  • workbook: string | ArrayBuffer | Blob | wijmo.xlsx.Workbook

    Workbook, Blob, base-64 string, or ArrayBuffer representing the xlsx file content.

  • options: IFlexGridXlsxOptions Optional

    IFlexGridXlsxOptions object specifying the load options.

  • onLoaded: (workbook: wijmo.xlsx.Workbook) Optional

    Callback invoked when the method finishes executing. The callback provides access to the workbook that was loaded (passed as a parameter to the callback).

  • onError: (reason?: any) Optional

    Callback invoked when there are errors saving the file. The error is passed as a parameter to the callback.

    For example:

    wijmo.grid.xlsx.FlexGridXlsxConverter.loadAsync(grid, blob, null, 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 save failure is ' + reason);
    });
    
Returns
void

Static save

save(grid: FlexGrid, options?: IFlexGridXlsxOptions, fileName?: string, batchSize?: number): Workbook

Save the FlexGrid instance to the Workbook instance. This method works with JSZip 2.5.

For example:

// This sample exports FlexGrid content to an xlsx file.
// click.
 

// HTML
<button 
    onclick="saveXlsx('FlexGrid.xlsx')">
    Save
</button>
 

// JavaScript
function saveXlsx(fileName) {

    // Save the flexGrid to xlsx file.
    wijmo.grid.xlsx.FlexGridXlsxConverter.save(flexGrid,
            { includeColumnHeaders: true }, fileName);
}
Parameters
Returns
Workbook

Static saveAsync

saveAsync(grid: FlexGrid, options?: IFlexGridXlsxOptions, fileName?: string, onSaved?: (base64: string, workbook?: Workbook), onError?: (reason?: any), onProgress?: (value: number), asyncWorkbook?: boolean, batchSize?: number): Workbook

Asynchronously saves the content of a FlexGrid to a file.

This method requires JSZip 3.0.

The return value depends on the asyncWorkbook parameter. If it is false (default) then the method returns the Workbook instance. If it is true then the method returns a null value and the Workbook instance should be obtained in the onSaved callback.

If asyncWorkbook parameter is true then, once started, the task will be automatically restarted when changes in the grid are detected.

Parameters
  • grid: FlexGrid

    FlexGrid that will be saved.

  • options: IFlexGridXlsxOptions Optional

    IFlexGridXlsxOptions object specifying the save options.

  • fileName: string Optional

    Name of the file that will be generated.

  • onSaved: (base64: string Optional

    Callback invoked when the method finishes executing. The callback provides access to the content of the saved workbook (encoded as a base-64 string and passed as a parameter to the callback).

  • workbook: wijmo.xlsx.Workbook) Optional
  • onError: (reason?: any) Optional

    Callback invoked when there are errors saving the file. The error is passed as a parameter to the callback.

  • 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. Can be used only if the asyncWorkbook parameter is set to true.

  • asyncWorkbook: boolean Optional

    Indicates whether Workbook genaration should be performed asynchronously or not. The default value is false.

    For example:

    wijmo.grid.xlsx.FlexGridXlsxConverter.saveAsync(flexGrid,
        { includeColumnHeaders: true }, // options
        'FlexGrid.xlsx', // filename
        function (base64) { // onSaved
            // User can access the base64 string in this callback.
            document.getElementByID('export').href = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;' + 'base64,' + base64;
        },
        function (reason) { // onError
            // User can catch the failure reason in this callback.
            console.log('The reason of save failure is ' + reason);
        }
     );
    
  • batchSize: number Optional
Returns
Workbook