"},スプレッドシートデータの可視化,Office Interop なしの Excel,ExcelとSQL Serverの統合"> フッターコンテンツにスキップ
IRONXLの使用

RazorでCSVやExcelにエクスポートする方法

Razor Pagesを使用してデータをExcelファイルにエクスポートする方法をお探しですか? この記事では、IronXL for .NETを使用する方法を説明します。

class="hsg-featured-snippet">

RazorでCSVとExcelをエクスポートする方法

  1. CSVとExcelをエクスポートするためのC#ライブラリをインストール
  2. WorkBookオブジェクトを作成し、CreateWorkSheetメソッドを使用してWorkSheetを作成する
  3. データでWorkSheetを埋めると共に、セルスタイルを変更する
  4. WorkBookをストリームとして返し、エクスポート形式をExcelとして指定する
  5. Razor WebアプリでCSVとしてエクスポートするために形式をtext/csvとして指定する

1. IronXL

IronXLはExcelファイルを操作するために使用される.NETライブラリです。 これはOpenXML SDKの上に構築され、Excelスプレッドシートを読み書きおよび操作するためのシンプルなAPIを提供します。 IronXLはウェブアプリケーション、デスクトップアプリケーション、コンソールアプリケーションなどのさまざまな.NETアプリケーションで使用できます。 IronXL provides a range of features for working with Excel documents, including the ability to read and write data to individual cells, create charts and graphs, and perform complex calculations. また、ピボットテーブル、条件付き書式設定、データ検証などの高度なExcel機能もサポートしています。

データをExcelやCSVファイルにエクスポートすることはウェブ開発において一般的な作業であり、RazorとIronXLを使用すると簡単に実行できます。 IronXLを使用すると、開発者はExcelスプレッドシートを簡単に作成し、ファイルまたはストリームに保存できます。 その後、Razorを使用してExcelドキュメントへのリンクを含む動的コンテンツを生成し、ユーザーがウェブページから直接ダウンロードできるようにします。 CSVファイル形式もIronXLを使用して生成でき、同様にRazorを使用してダウンロードできます。 これにより、他の人と簡単に共有できるレポートやその他のデータ駆動型コンテンツを簡単に作成できます。 全体として、RazorとIronXL .NET Core Razor Pagesの組み合わせは、動的でデータ駆動型のウェブページを作成しようとするウェブ開発者にとって、強力なツールセットを提供します。

2. 事前準備

Visual StudioでRazorを使用する前に、ユーザーが準備しておくべきいくつかの前提条件があります。 ここにいくつかの重要なものを挙げます:

  1. IronXLユーザーとして、コンピューターシステムにVisual Studioをインストールしている必要があります。 Visual Studio CommunityはMicrosoftの公式ウェブサイトから無料でダウンロードできます。
  2. また、コンピューターに.NET Core SDKをインストールしている必要があります。 最新バージョンの.NET Core SDKはMicrosoftの公式ウェブサイトからダウンロードできます。
  3. Razorビューを使用する前にウェブ開発環境を設定しておく必要があります。

3. 新しいVisual Studioプロジェクトを作成する

新しいVisual Studioプロジェクトを作成するには、次の手順に従います:

  1. Visual Studioを開きます。
  2. スタートウィンドウで「新しいプロジェクトを作成」をクリックするか、メニューバーで「ファイル」>「新規作成」>「プロジェクト」をクリックします。

RazorでCSVとExcelをエクスポートする方法、図1: Visual Studioのスタートウィンドウ Visual Studioのスタートウィンドウ

  1. 作成したいプロジェクトのタイプを選択し、Razor Pagesを使用するには、ASP.NET Core Web Appを選択して「次へ」をクリックします。

RazorでCSVとExcelをエクスポートする方法、図2: Visual Studioで新しい.NET Core Web Appを作成 Visual Studioで新しい.NET Core Web Appを作成

  1. 新しいウィンドウが表示されたら、新しいプロジェクトの名前と場所を記入してください。 次へをクリックします。

RazorでCSVとExcelをエクスポートする方法、図3: 新しいプロジェクトを設定 新しいプロジェクトの構成

  1. 新しいウィンドウでターゲットフレームワークを選択し、HTTPSオプションを構成して「作成」をクリックします。
  2. このようにして新しいVisual Studio ASP.NET Core Web Appプロジェクトが作成されます。

4. IronXLのインストール

IronXLライブラリはさまざまな方法でダウンロードおよびインストールできます。

以下のような方法です:

  • Visual Studio NuGetパッケージを使用します。
  • Visual Studioのコマンドラインを使用する。

4.1 Visual Studioを使用する

IronXLライブラリをインストールするには、最も簡単な方法はNuGetパッケージマネージャーを使用することです。 マネージャーを開き、ブラウズタブでIronXLを検索します。 検索結果からIronXLを選択してインストールします。

以下のスクリーンショットは、Visual StudioでNuGetパッケージマネージャを開く方法を示しています。

RazorでCSVとExcelをエクスポートする方法、図4: NuGetパッケージマネージャーに移動します NuGetパッケージマネージャへのナビゲート

検索結果のIronXL:

RazorでCSVとExcelをエクスポートする方法、図5: NuGetパッケージマネージャーUIでIronXLを検索します NuGetパッケージマネージャーUIでIronXLを検索します

4.2 Visual Studioコマンドラインを使用する

多くの人に人気のある選択肢は、コンソールを使用して操作を行うことです。 コマンドラインを通じてIronXLをインストールしたい場合は、次の手順に従うことができます:

  • Visual Studioで、ツール > NuGetパッケージマネージャー > パッケージマネージャーコンソールに進みます。
  • 次の行をパッケージマネージャーコンソールタブに入力すると、パッケージがインストールされます:
Install-Package IronXL.Excel

今、パッケージは現在のプロジェクトにダウンロード/インストールされ、使用可能になります。

RazorでCSVとExcelをエクスポートする方法、図6: パッケージマネージャーコンソールでIronXLをインストールします パッケージマネージャーコンソールでIronXLをインストールする

5. Razor Net CoreでデータをExcelファイルにエクスポートする

プロジェクトが作成されると、Razorアプリケーションのシンプルなインターフェースが作成されます。 現在のインターフェースをExcelエクスポートに変更します。

RazorでCSVとExcelをエクスポートする方法、図7: 新しく作成されたプロジェクトのWebインターフェース 新しく作成されたプロジェクトのWebインターフェース

上記のインターフェースを、Pagesディレクトリーの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">This will be the combination of Razor and IronXL, together they will Export data to Excel file.</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Export 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">This will be the combination of Razor and IronXL, together they will Export data to Excel file.</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Export Excel File!</button>
    </form>
</div>
page model ReadOnly Property () As IndexModel
	ViewData("Title") = "Home page"
End Property
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div class="text-center"> <h1 class="display-4"> IronXL Generate Excel File</h1> <p class="m-5"> This will be the combination @of Razor @and IronXL, together they will Export data @to Excel file.</p> <form method="post" asp-page-handler="Export"> <button class="btn btn-success p-3"> Export Excel File!</button> </form> </div>
$vbLabelText   $csharpLabel

このコードはホームページのインターフェースを変更し、エクスポートボタンを追加します。

RazorでCSVとExcelをエクスポートする方法、図8: エクスポートボタン付きの新しいインターフェース エクスポートボタン付きの新しいインターフェース

次に、index.cshtml.csファイルでOnPostExportメソッドを作成し、次のコードを記述します。 このコードはワークシートを生成し、列名を太字で書き込み、フォントサイズや背景色などその他のスタイルオプションも設定できるようにします。 これは、データベースからデータをExcelファイルにエクスポートするシンプルな例と考えることができます。

public FileResult OnPostExport()
{
    // Create a new workbook with the Excel file format
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);

    // Create a new worksheet in the workbook
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add data and styles to the new worksheet
    workSheet["A1"].Value = "Name";
    workSheet["B1"].Value = "Email";
    workSheet["C1"].Value = "Marks";
    workSheet["D1"].Value = "Percentage";

    // Set styling for column headers
    workSheet["A1:D1"].Style.Font.Bold = true;

    // Filling the worksheet with data
    workSheet["A2"].Value = "Nick";
    workSheet["A3"].Value = "Roy";
    workSheet["A4"].Value = "Chris";
    workSheet["B2"].Value = "Nick@gmail.com";
    workSheet["B3"].Value = "Roy123@gmail.com";
    workSheet["B4"].Value = "Chris1999@gmail.com";
    workSheet["C2"].Value = "850";
    workSheet["C3"].Value = "710";
    workSheet["C4"].Value = "990";
    workSheet["D2"].Value = "85%";
    workSheet["D3"].Value = "71%";
    workSheet["D4"].Value = "99%";

    // Return the file as an Excel sheet
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
public FileResult OnPostExport()
{
    // Create a new workbook with the Excel file format
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);

    // Create a new worksheet in the workbook
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add data and styles to the new worksheet
    workSheet["A1"].Value = "Name";
    workSheet["B1"].Value = "Email";
    workSheet["C1"].Value = "Marks";
    workSheet["D1"].Value = "Percentage";

    // Set styling for column headers
    workSheet["A1:D1"].Style.Font.Bold = true;

    // Filling the worksheet with data
    workSheet["A2"].Value = "Nick";
    workSheet["A3"].Value = "Roy";
    workSheet["A4"].Value = "Chris";
    workSheet["B2"].Value = "Nick@gmail.com";
    workSheet["B3"].Value = "Roy123@gmail.com";
    workSheet["B4"].Value = "Chris1999@gmail.com";
    workSheet["C2"].Value = "850";
    workSheet["C3"].Value = "710";
    workSheet["C4"].Value = "990";
    workSheet["D2"].Value = "85%";
    workSheet["D3"].Value = "71%";
    workSheet["D4"].Value = "99%";

    // Return the file as an Excel sheet
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
Public Function OnPostExport() As FileResult
	' Create a new workbook with the Excel file format
	Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)

	' Create a new worksheet in the workbook
	Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")

	' Add data and styles to the new worksheet
	workSheet("A1").Value = "Name"
	workSheet("B1").Value = "Email"
	workSheet("C1").Value = "Marks"
	workSheet("D1").Value = "Percentage"

	' Set styling for column headers
	workSheet("A1:D1").Style.Font.Bold = True

	' Filling the worksheet with data
	workSheet("A2").Value = "Nick"
	workSheet("A3").Value = "Roy"
	workSheet("A4").Value = "Chris"
	workSheet("B2").Value = "Nick@gmail.com"
	workSheet("B3").Value = "Roy123@gmail.com"
	workSheet("B4").Value = "Chris1999@gmail.com"
	workSheet("C2").Value = "850"
	workSheet("C3").Value = "710"
	workSheet("C4").Value = "990"
	workSheet("D2").Value = "85%"
	workSheet("D3").Value = "71%"
	workSheet("D4").Value = "99%"

	' Return the file as an Excel sheet
	Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx")
End Function
$vbLabelText   $csharpLabel

上記のコードはワークブックを作成し、ファイルをExcelシートとして返します。 このメソッドはボタンにリンクされ、ボタンをクリックすると自動的にXLSXエクスポートファイルが生成され、ダウンロードされます。

RazorでCSVとExcelをエクスポートする方法、図9: ブラウザでXLSXファイルをエクスポートします ブラウザでXLSXファイルをエクスポートします

RazorでCSVとExcelをエクスポートする方法、図10: エクスポートされたXLSXファイルのデータ エクスポートされたXLSXファイルのデータ

6. CSVファイルにデータをエクスポートする

上記のコードを1つ変更することで、CSVテキストファイルを簡単にエクスポートできます。 返り値のコードを以下のように置き換えるだけで、RazorページはCSVファイルを返します。

return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
Return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv")
$vbLabelText   $csharpLabel

RazorでCSVとExcelをエクスポートする方法、図11: ブラウザでCSVファイルをエクスポートします ブラウザでCSVファイルをエクスポートします

RazorでCSVとExcelをエクスポートする方法、図12: エクスポートされたCSVファイルのデータ エクスポートされたCSVファイルのデータ

7. 結論

データをExcelシートやCSVファイルにエクスポートすることはウェブ開発における一般的な作業であり、RazorとIronXLを使用することで簡単に実行できます。 IronXLを使用すると、開発者はExcelスプレッドシートを簡単に作成し、ファイルまたはストリームに保存できます。 その後、Razorを使用してExcelドキュメントへのリンクを含む動的コンテンツを生成し、ユーザーがウェブページから直接ダウンロードできるようにします。 これにより、他の人と簡単に共有できるレポートやその他のデータ駆動型コンテンツを簡単に作成できます。

RazorとIronXL .NET Core Razor Pagesの組み合わせは、動的でデータ駆動型のウェブページを作成しようとするウェブ開発者にとって強力なツールセットを提供します。 RazorとIronXLを使用し始めるには、Visual Studioと.NET Core SDKをインストールしている必要があります。 その後、新しいVisual Studioプロジェクトを作成し、IronXLライブラリをインストールすることは簡単に行えます。 最後に、ホームページのインターフェースを変更し、OnPostExportメソッドを作成することで、開発者は数ステップでデータをExcelドキュメントにエクスポートすることができます。

IronXL、Razor、データをExcelおよびCSVファイルにエクスポートする方法についてもっと知りたい方は、以下のページをご覧ください。

IronXLは、非商用開発目的での使用は無料です。 無料トライアルは、プロダクション環境でのテストのために利用可能です。 価格とライセンスの詳細については、価格プランを参照してください。

Users can also benefit from Iron Suite, a Suite of 5 professional ASP.NET Core libraries including IronXL, IronPDF, and more.

よくある質問

Razor Pagesを使用してデータをExcelにエクスポートするにはどうすればよいですか?

Razor Pagesと組み合わせてIronXLを使用してデータをExcelにエクスポートできます。まず、NuGetパッケージマネージャーまたはVisual Studioコマンドラインを通じてIronXLをインストールします。それから、新しいワークブックとワークシートを作成し、データを入力してRazorを使用してExcelファイルとしてエクスポートします。

Razorを使用してExcelにデータをエクスポートするための環境を設定するには、どのような手順が必要ですか?

環境を設定するには、Visual Studioと.NET Core SDKが必要です。新しいASP.NET Core Web Appプロジェクトを作成し、NuGetからIronXLをインストールし、Razorインターフェースを変更してエクスポート機能を追加します。

ネットアプリケーションでCSVファイルにデータをエクスポートするプロセスは何ですか?

IronXLを使用してCSVファイルとしてデータをエクスポートするには、Razor Pageコードを修正してファイルを'text/csv'形式で返します。これは、IronXLを使用してワークシートデータを処理し、出力形式としてCSVを指定することを含みます。

Razor Pagesからエクスポートする際にExcelスプレッドシートにスタイルを適用できますか?

はい、IronXLを使用することで、Razor Pagesからエクスポートする際にExcelスプレッドシートにスタイルを適用できます。フォント、色、その他のフォーマット要素をカスタマイズしてデータのプレゼンテーションを向上させることができます。

IronXLを非商業プロジェクトに使用することは可能ですか?

IronXLは、非商業開発目的で無料で利用可能です。また、商業利用のための詳細な価格プランがあり、試験的な本番環境テスト用に無料トライアルを利用できます。

IronXLはExcelとCSVファイルに関係するWeb開発タスクをどのように簡素化しますか?

IronXLは、Razor Pagesから直接ExcelおよびCSVファイルを生成および処理するための強力なAPIを提供することで、Web開発を簡素化します。Interopの必要性を排除し、データエクスポートタスクをより効率的かつ容易に実装可能にします。

開発者がデータエクスポートタスクのためにRazorとIronXLを選ぶ理由は何ですか?

開発者は、その使いやすさ、柔軟性、強力な機能のためにRazorとIronXLを選びます。それにより、データエクスポート機能をWebアプリケーションにシームレスに統合でき、容易に共有可能なダイナミックでデータ駆動のコンテンツを作成できます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。