Descripción general de la biblioteca Blazor Excel

    La biblioteca de Excel Infragistics Blazor le permite trabajar con datos de hojas de cálculo utilizando objetos familiares de hojas de cálculo de Microsoft® Excel® como Workbook, Worksheet, Cell, Formula y muchos más. La biblioteca de Excel Infragistics Blazor facilita la representación de los datos de su aplicación en una hoja de cálculo de Excel, así como la transferencia de datos de Excel a su aplicación.

    Blazor Excel Library Example

    Requirements

    Para utilizar la biblioteca de Excel Blazor, debe agregar la siguiente declaración de uso:

    @using Infragistics.Documents.Excel
    

    Si está utilizando un proyecto Blazor Web Assembly (WASM), hay un par de pasos adicionales:

    • Agregue una referencia al siguiente script en el archivo wwwroot/index.html:
    <script src="_content/IgniteUI.Blazor.Documents.Excel/excel.js"></script>
    
    • Establezca el Workbook.InProcessRuntime estático en el tiempo de ejecución actual. Esto se puede hacer usando el siguiente código:
    @using Microsoft.JSInterop
    
    @code {
    
        [Inject]
        public IJSRuntime Runtime { get; set; }
    
        protected override void OnInitialized()
        {
            base.OnInitialized();
            Workbook.InProcessRuntime = (IJSInProcessRuntime)this.Runtime;
        }
    }
    

    Supported Versions of Microsoft Excel

    La siguiente es una lista de las versiones compatibles de Excel.**

    • MicrosoftExcel 97

    • MicrosoftExcel 2000

    • MicrosoftExcel 2002

    • MicrosoftExcel 2003

    • MicrosoftExcel 2007

    • MicrosoftExcel 2010

    • MicrosoftExcel 2013

    • Excel 2016

    Load and Save Workbooks

    Ahora que se importa el módulo de la Biblioteca de Excel, el siguiente paso es cargar un libro.

    Para cargar y guardar objetos Workbook, puede utilizar el método de guardar del objeto Workbook real, así como su método Load estático.

    protected override void OnInitialized()
    {
        var memoryStream = new System.IO.MemoryStream();
        workbook.Save(memoryStream);
    
        memoryStream.Position = 0;
        var bytes = memoryStream.ToArray();
        this.SaveFile(bytes, "fileName.xlsx", string.Empty);
    }
    
    private void SaveFile(byte[] bytes, string fileName, string mime)
    {
        if (this.Runtime is WebAssemblyJSRuntime wasmRuntime)
          wasmRuntime.InvokeUnmarshalled<string, string, byte[], bool>("BlazorDownloadFileFast", fileName, mime, bytes);
        else if (this.Runtime is IJSInProcessRuntime inProc)
          inProc.InvokeVoid("BlazorDownloadFile", fileName, mime, bytes);
    }
    

    API References

    • Load
    • WorkbookInProcessRuntime
    • Worksheet
    • Workbook