Blazor Excel ライブラリの概要
Infragistics Blazor Excel ライブラリは、Workbook、Worksheet、Cell、Formula などの人気の Microsoft® Excel® スプレッドシート オブジェクトを使用してスプレッドシート データで作業をすることができます。Infragistics Blazor Excel ライブラリによって Excel スプレッドシートでアプリケーションのデータを表示するだけでなく、Excel からアプリケーションへのデータの転送も簡単になります。
Blazor Excel ライブラリの例
要件
Blazor Excel ライブラリを使用するには、次の using ステートメントを追加する必要があります:
@using Infragistics.Documents.Excel
Web Assembly (WASM) Blazor プロジェクトを使用している場合は、いくつかの追加手順があります:
- Wwwroot/index.html ファイルに次のスクリプトへの参照を追加します:
<script src="_content/IgniteUI.Blazor.Documents.Excel/excel.js"></script>
- 静的な
Workbook.InProcessRuntime
を現在のランタイムに設定します。以下のコードを使用できます:
@using Microsoft.JSInterop
@code {
[Inject]
public IJSRuntime Runtime { get; set; }
protected override void OnInitialized()
{
base.OnInitialized();
Workbook.InProcessRuntime = (IJSInProcessRuntime)this.Runtime;
}
}
サポートされるバージョンの Microsoft Excel
以下は 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
Note
Excel ライブラリ は Excel Binary Workbook (.xlsb) フォーマットを現時点ではサポートしていません。
ワークブックの読み込みと保存
注: Excel ライブラリ モジュールをインポートした後、ワークブックを読み込みます。
Workbook
オブジェクトを読み込んで保存するために、実際の Workbook
の保存メソッドや static な 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);
}