ASP.NET MVC Controls | ComponentOne
In This Topic
    FlexGridXlsxConverter Class
    In This Topic
    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

    Methods

     

    Static cancelAsync
    cancelAsync(done?: ()): void
    

    Cancels the task started by the saveAsync method.

    Parameters
    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): 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): 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);
          }
       );
      
    Returns
    Workbook