Visão geral da biblioteca Blazor Excel

    A Infragistics Blazor Excel Library permite que você trabalhe com dados de planilha usando objetos de planilha familiares do Microsoft® Excel® como Workbook, Worksheet, Cell, Formula e muitos mais. A Infragistics Blazor Excel Library facilita a representação dos dados do seu aplicativo em uma planilha do Excel, bem como a transferência de dados do Excel para o seu aplicativo.

    Blazor Excel Library Example

    Requirements

    Para usar a biblioteca do Excel Blazor, você precisa adicionar a seguinte instrução using:

    @using Infragistics.Documents.Excel
    

    Se você estiver usando um projeto Blazor Web Assembly (WASM), há algumas etapas extras:

    • Adicione uma referência ao seguinte script no arquivo wwwroot/index.html:
    <script src="_content/IgniteUI.Blazor.Documents.Excel/excel.js"></script>
    
    • Defina o Workbook.InProcessRuntime estático para o runtime atual. Isso pode ser feito usando o seguinte 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

    A seguir está uma lista das versões suportadas do Excel.**

    • Microsoft Excel 97

    • Microsoft Excel 2000

    • Microsoft Excel 2002

    • Microsoft Excel 2003

    • Microsoft Excel 2007

    • Microsoft Excel 2010

    • Microsoft Excel 2013

    • Microsoft Excel 2016

    Load and Save Workbooks

    Agora que o módulo Biblioteca do Excel foi importado, o próximo passo é carregar uma pasta de trabalho.

    Para carregar e salvar objetos Workbook, você pode utilizar o método save do objeto Workbook real, bem como seu método estático Load.

    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