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