IRONXLの使用

Razor Pagesでエクセルファイルを生成する方法

更新済み 2024年1月29日
共有:

イントロダクション

Razor Pagesは、ウェブページを作成する新しい方法です。 Razor Pagesでは、Webページをレンダリングするソースコードがサーバーサイドページによって生成されるのではなく、C#で構築されます。

Excelファイルを効率的に操作するには、他のライブラリ(例えばPOIのJavaプロジェクトやNPOIパッケージ)よりもIronXLライブラリを推奨します。(PowerPointファイルにも使用できます)およびOffice Interop。このライブラリは、機能が豊富でシンプルかつ使いやすく、Microsoft Officeを必要としません。また、このライブラリは複数の.NETバージョンをサポートする必要があります。

この記事では、ダミーデータと行ヘッダーを含むExcelスプレッドシートを生成およびエクスポートするためにIronXL C#ライブラリをRazor Pagesで使用する方法を解説します。(ページモデル).

IronXL: C# Excelライブラリ

IronXLは、大規模なデータセットを操作するためのメソッドや関数を提供するC# Excelライブラリです。 並列処理を使用して、より多くの計算能力を得ることができます。 そのプロセスの内部がどう動作するかについての知識を必要としないため、プログラマーにとって使いやすいです。 それは、XLSおよびXLSXファイルをサポートしています。

IronXLは、Excelファイルのインポートとエクスポート、Excelの数式の作成、およびオフィスドキュメントの作成もサポートしています。 Microsoft Officeを自分のマシンにインストールしたくない方にとって、理想的なソリューションです。

Razor PagesでIronXLを使用してExcelファイルをインポートおよびエクスポートする方法を見てみましょう。

Razor PagesでExcelファイルを生成する

ExcelシートをRazor Pagesで作成するには、Visual Studioを開き、ASP.NET Core Webアプリケーションを作成し、IronXLをインストールしてください。

前提条件

Razor PagesでExcelファイルを作成するためには、いくつかの前提条件があります:

  1. Visual Studio (ビジュアル・スタジオ)(ビジュアルスタジオ)(最新バージョン)

  2. .NET Framework 6 または 7

  3. Visual Studio における .NET Core Web アプリケーション

IronXLライブラリをインストール

NuGet パッケージ マネージャー コンソールを使用してインストールできます。 コンソールを開き、.NET Core WebアプリケーションにIronXLライブラリをインストールするために次のコマンドを書いてください。

Install-Package IronXL.Excel

エクセルファイルを生成するためのコード

さて、コードを書く時間です。 Pagesフォルダーから「Index.cs」ファイルを開き、以下のメソッドを追加してください。

public FileResult OnPostExport()
{
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    //Add data and styles to the new worksheet

    workSheet ["A1"].Value = "Product EN";
    workSheet ["B1"].Value = "SKU";
    workSheet ["C1"].Value = "Customer";

    workSheet ["A1:C1"].Style.Font.Bold = true;

    workSheet ["A2"].Value = "Iron Rods";
    workSheet ["A3"].Value = "Mobile Phones";
    workSheet ["A4"].Value = "Chargers";

    workSheet ["B2"].Value = "105";
    workSheet ["B3"].Value = "285";
    workSheet ["B4"].Value = "301";

    workSheet ["C2"].Value = "Adam";
    workSheet ["C3"].Value = "Ellen";
    workSheet ["C4"].Value = "Tom";

    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
public FileResult OnPostExport()
{
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    //Add data and styles to the new worksheet

    workSheet ["A1"].Value = "Product EN";
    workSheet ["B1"].Value = "SKU";
    workSheet ["C1"].Value = "Customer";

    workSheet ["A1:C1"].Style.Font.Bold = true;

    workSheet ["A2"].Value = "Iron Rods";
    workSheet ["A3"].Value = "Mobile Phones";
    workSheet ["A4"].Value = "Chargers";

    workSheet ["B2"].Value = "105";
    workSheet ["B3"].Value = "285";
    workSheet ["B4"].Value = "301";

    workSheet ["C2"].Value = "Adam";
    workSheet ["C3"].Value = "Ellen";
    workSheet ["C4"].Value = "Tom";

    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
Public Function OnPostExport() As FileResult
	Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)
	Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")

	'Add data and styles to the new worksheet

	workSheet ("A1").Value = "Product EN"
	workSheet ("B1").Value = "SKU"
	workSheet ("C1").Value = "Customer"

	workSheet ("A1:C1").Style.Font.Bold = True

	workSheet ("A2").Value = "Iron Rods"
	workSheet ("A3").Value = "Mobile Phones"
	workSheet ("A4").Value = "Chargers"

	workSheet ("B2").Value = "105"
	workSheet ("B3").Value = "285"
	workSheet ("B4").Value = "301"

	workSheet ("C2").Value = "Adam"
	workSheet ("C3").Value = "Ellen"
	workSheet ("C4").Value = "Tom"

	Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx")
End Function
VB   C#

上記のコードでは、新しいExcelWorkBookは作成され、一つの ワークシート. その後、シートにダミーデータが入力され、次のパラメーターを使用して生成されたファイルがサーバーレスポンスとして返されます:

  • WorkBookStream に変換する(ダウンロードする前にファイルをストリームに変換することが重要ですので).
  • データ型を設定
  • ダウンロードするファイルの名前を指定してください。

Excelファイルをダウンロードするボタンを作成

「Index.cshtml」の既存のコードを次のコードに置き換えてください:

@page
@model IndexModel
@{
    ViewData ["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# and allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
@page
@model IndexModel
@{
    ViewData ["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# and allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
HTML

上記のHTMLコードにおいて、"asp-page-handler"プロパティを"Export"に設定したformタグを作成してください。 これにより、アプリケーションはExcelファイルをローカルマシンにエクスポートできるようになります。また、「Excelファイルを生成」というテキストのボタンを作成します。!申し訳ありませんが、翻訳するための具体的なテキストが提供されていません。翻訳するコンテンツを提供していただければ、日本語に翻訳いたします。 ユーザーがこのボタンをクリックすると、生成されたExcelファイルのダウンロードがブラウザで開始されます。

プロジェクトを実行

プロジェクトを実行すると、ブラウザーに次の画面が表示されます。 緑色のボタンをクリックしてExcelファイルをダウンロードしてください。

Razor PagesでExcelファイルを生成する方法、図1:IronXLでExcelシートを生成

IronXLを使用してエクセルシートを生成

「Generate Excel File」ボタンをクリックすると、ダウンロードされたファイルが下に表示されます。!申し訳ありませんが、翻訳するための具体的なテキストが提供されていません。翻訳するコンテンツを提供していただければ、日本語に翻訳いたします。

Razor PagesでExcelファイルを生成する方法、図2:ダウンロードされたIronXLファイル

IronXL ダウンロード済みファイル

生成されたExcelファイルを開く

生成された Excel ファイルの内容は、コードに記載された内容と一致しており、フォーマットも完璧です。 以下は生成されたExcelファイルのスナップショットです。

Razor PagesでExcelファイルを生成する方法、図3:IronXL生成ファイル

IronXLによって生成されたファイル

IronXLは競合他社より優れている

IronXLライブラリは、Excelを扱うための強力なツールであり、XLSおよびXLSXをサポートし、NPOIの制約を持たない。 NPOIはJavaで書かれているため、C#で書かれているIronXLに比べて動作が非常に遅いです。 したがって、大規模または複数のスプレッドシートを生成したい場合は、POIではなくIronXLを選択することをお勧めします。ASP.NETコアアプリケーション。

IronXLは、Microsoft Officeを使用せずにExcelファイルを作成および編集するための優れたライブラリです。Microsoft Interopとは異なり、IronXLはExcelの操作を実行し、Excelにエクスポートするために、バックグラウンドでMicrosoft ExcelのActiveXを呼び出す必要はありません。 IronXLはMicrosoft Officeスイートなしで動作できます。また、IronXLではCSVファイルをExcel形式にエクスポートすることも可能です。

さらに、IronXLは、Excelファイルと対話するための幅広い機能も提供しています。一般的なフォーマット間の変換, 数学関数の挿入で、さらにチャートや画像の挿入.

結論

この記事では、IronXLを使用してRazor PagesでExcelファイルを生成する方法について説明しました。これは、Microsoft Excel ActiveXを呼び出してファイルをダウンロードする必要がない方法です。

以下のリンクにアクセスして詳しくご覧くださいExcelファイル作成のチュートリアル.

IronXLは非商用開発目的で無料で使用できます。 A無料試用本番環境でのテストが可能です。 内容が不足しているようです。続けて翻訳するテキストを教えてください。価格プラン価格とライセンスの詳細については、こちらをご覧ください。

< 以前
BlazorでIronXLを使用してデータをExcelにエクスポートする方法
次へ >
C#でCSVパーサーを使用する方法