Close
Angular React Web Components Blazor Blazor
Premium

Blazor Excel ライブラリの概要

Infragistics Blazor Excel ライブラリは、WorkbookWorksheetCellFormula などの人気の Microsoft® Excel® スプレッドシート オブジェクトを使用してスプレッドシート データで作業をすることができます。Infragistics Blazor Excel ライブラリによって Excel スプレッドシートでアプリケーションのデータを表示するだけでなく、Excel からアプリケーションへのデータの転送も簡単になります。

Blazor Excel ライブラリの例

要件

Blazor Excel ライブラリを使用するには、Excel ライブラリの NuGet パッケージを次のように追加する必要があります:

> dotnet add package IgniteUI.Blazor.Documents.Excel

次の using ステートメントを追加します:

@using Infragistics.Documents.Excel

Blazor WebAssembly (WASM) プロジェクトを使用している場合は、いくつかの追加手順があります:

  • 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

Excel ライブラリは Excel Binary Workbook (.xlsb) フォーマットを現時点ではサポートしていません。

ワークブックの読み込みと保存

Excel ライブラリ パッケージをインストールした後、ワークブックを読み込みます。

Workbook オブジェクトを読み込んで保存するために、実際の WorkbookSave メソッドや 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);
}

API リファレンス

Worksheet Workbook