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