v19.2以降、Infragistics Documents が NET Core 3 でもご利用いただけるようになりました。 Windows OS に限らず Linux や Mac OS でも、Office ドキュメントの作成、操作が可能となります。

本記事では、 Infragistics Documents の中でも非常に人気のある Excel Engine の導入手順、サンプルコードを紹介いたします。

前提条件

  • Ignite UI version 19.2 以降がインストールされていること。
  • Ignite UI の Nuget パッケージが設定されていること。(※)

※Nuget の設定は下記ページを参考。

Ignite UI NuGet パッケージの使用

https://jp.igniteui.com/help/using-ignite-ui-nuget-packages

導入手順

アプリケーションを開き、”ソリューションのNugetパッケージの管理”を選択します。

“参照”タブにて、”Infragistics.Web.Documents.Excel” で検索します。

“Infragistics.Web.Documents.Excel” がヒットしますので、選択。インストールします。

これにて導入は完了です。

Excel 利用手順

using を追加します。

using Infragistics.Documents.Excel;

Excel ファイルの作成、シートの追加、値設定のサンプルコード

/// <summary>
/// Excelワークブックを作成します。
/// </summary>
/// <returns>Excelワークブック</returns>
private Workbook CreateExcelWorkbook()
{
    Workbook workbook = new Workbook(WorkbookFormat.Excel2007);
    Worksheet ws = workbook.Worksheets.Add("サンプルシート");

    // 1行目
    ws.Rows[0].Cells[0].Value = "A";
    ws.Rows[0].Cells[1].Value = "B";
    ws.Rows[0].Cells[2].Value = "C";

    // 2行目
    ws.Rows[1].Cells[0].Value = 123;
    ws.Rows[1].Cells[1].Value = 456;
    ws.Rows[1].Cells[2].Value = 789;

    // 3行目
    ws.Rows[2].Cells[0].Value = 54;
    ws.Rows[2].Cells[1].Value = 154;
    ws.Rows[2].Cells[2].Value = 24;

    return workbook;
}

作成されたサンプル Excel

Excel ファイルの更新、値設定のサンプルコード

/// <summary>
/// アップロードされたエクセルファイルを更新し、エクセルファイルを返却します。
/// </summary>
/// <param name="TargetFiles"></param>
/// <returns></returns>
public FileContentResult UploadExcelFile(List<IFormFile> TargetFiles)
{
    Stream excelStream = TargetFiles[0].OpenReadStream();
    Workbook workbook = Workbook.Load(excelStream);


    Worksheet ws = workbook.Worksheets[0];

    // セルの読込
    Debug.WriteLine("A1セルの内容:" + ws.Rows[0].Cells[0].Value);

    // セルの更新
    ws.Rows[0].Cells[0].Value = "更新しました。";


    // 更新後のエクセルをダウンロード
    var stream = new MemoryStream();
    workbook.Save(stream);
    return File(stream.ToArray(), "application/xlsx", "sample.xlsx");
}

作成されたサンプル Excel

サンプルコード

製品について

Ignite UI for jQuery