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);
}