RazorでCSVやExcelにエクスポートする方法
Razor Pagesを使用してデータをExcelファイルにエクスポートする方法をお探しですか? この記事では、IronXL for .NETを使用する方法を説明します。
RazorでCSVやExcelにエクスポートする方法
- CSV と Excel をエクスポートするための C# ライブラリをインストールする
- WorkBookオブジェクトを作成し、
CreateWorkSheetメソッドを使用してWorkSheetを作成します。 - ワークシートにデータを入力し、セルのスタイルを変更します
- ワークブックをストリームとして返し、Excel としてエクスポートする形式をスプレッドシートとして指定します。
- Razor Web アプリで CSV としてエクスポートするには、形式をtext/csvとして指定します。
1. IronXL
IronXLはExcelファイルを操作するために使用される.NETライブラリです。 これはOpenXML SDKの上に構築され、Excelスプレッドシートを読み書きおよび操作するためのシンプルなAPIを提供します。 IronXLはウェブアプリケーション、デスクトップアプリケーション、コンソールアプリケーションなどのさまざまな.NETアプリケーションで使用できます。 IronXLは、個々のセルへのデータの読み込みや書き込み、チャートやグラフの作成、複雑な計算の実行を含む、Excelドキュメントを操作するための様々な機能を提供します。 また、ピボットテーブル、条件付き書式設定、データ検証などの高度なExcel機能もサポートしています。
データをExcelやCSVファイルにエクスポートすることはウェブ開発において一般的な作業であり、RazorとIronXLを使用すると簡単に実行できます。 IronXLを使用すると、開発者はExcelスプレッドシートを簡単に作成し、ファイルまたはストリームに保存できます。 その後、Razorを使用してExcelドキュメントへのリンクを含む動的コンテンツを生成し、ユーザーがウェブページから直接ダウンロードできるようにします。 CSVファイル形式もIronXLを使用して生成でき、同様にRazorを使用してダウンロードできます。 これにより、他の人と簡単に共有できるレポートやその他のデータ駆動型コンテンツを簡単に作成できます。 全体として、RazorとIronXL .NET Core Razor Pagesの組み合わせは、動的でデータ駆動型のウェブページを作成しようとするウェブ開発者にとって、強力なツールセットを提供します。
2. 事前準備
Visual StudioでRazorを使用する前に、ユーザーが準備しておくべきいくつかの前提条件があります。 ここにいくつかの重要なものを挙げます:
- IronXLユーザーとして、コンピューターシステムにVisual Studioをインストールしている必要があります。 Visual Studio CommunityはMicrosoftの公式ウェブサイトから無料でダウンロードできます。
- また、コンピューターに.NET Core SDKをインストールしている必要があります。 最新バージョンの.NET Core SDKはMicrosoftの公式ウェブサイトからダウンロードできます。
- Razorビューを使用する前にウェブ開発環境を設定しておく必要があります。
3. 新しいVisual Studioプロジェクトを作成する
新しいVisual Studioプロジェクトを作成するには、次の手順に従います:
- Visual Studioを開きます。
- スタートウィンドウで"新しいプロジェクトを作成"をクリックするか、メニューバーで"ファイル">"新規作成">"プロジェクト"をクリックします。
Visual Studioのスタートウィンドウ
- 作成したいプロジェクトのタイプを選択し、Razor Pagesを使用するには、ASP.NET Core Web Appを選択して"次へ"をクリックします。
Visual Studioで新しい.NET Core Web Appを作成
- 新しいウィンドウが表示されたら、新しいプロジェクトの名前と場所を記入してください。 次へをクリックします。
新しいプロジェクトの構成
- 新しいウィンドウでターゲットフレームワークを選択し、HTTPSオプションを構成して"作成"をクリックします。
- このようにして新しい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パッケージマネージャを開く方法を示しています。
NuGetパッケージマネージャへのナビゲート
検索結果のIronXL:
NuGetパッケージマネージャーUIでIronXLを検索します
4.2 Visual Studioコマンドラインを使用する
多くの人に人気のある選択肢は、コンソールを使用して操作を行うことです。 コマンドラインを通じてIronXLをインストールしたい場合は、次の手順に従うことができます:
- Visual Studioで、ツール > NuGetパッケージマネージャー > パッケージマネージャーコンソールに進みます。
- 次の行をパッケージマネージャーコンソールタブに入力すると、パッケージがインストールされます:
Install-Package IronXL.Excel
今、パッケージは現在のプロジェクトにダウンロード/インストールされ、使用可能になります。
パッケージマネージャーコンソールでIronXLをインストールする
5. Razor Net CoreでデータをExcelファイルにエクスポートする
プロジェクトが作成されると、Razorアプリケーションのシンプルなインターフェースが作成されます。 現在のインターフェースをExcelエクスポートに変更します。
新しく作成されたプロジェクトの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>このコードはホームページのインターフェースを変更し、エクスポートボタンを追加します。
エクスポートボタン付きの新しいインターフェース
次に、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上記のコードはワークブックを作成し、ファイルをExcelシートとして返します。 このメソッドはボタンにリンクされ、ボタンをクリックすると自動的にXLSXエクスポートファイルが生成され、ダウンロードされます。
ブラウザで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")
ブラウザで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は、非商用開発目的での使用は無料です。 無料トライアルは、プロダクション環境でのテストのために利用可能です。 価格とライセンスの詳細については、価格プランを参照してください。
また、ユーザーはIron Suite、IronXLやIronPDFを含む5つのプロフェッショナルASP.NET Coreライブラリのスイートから恩恵を受けることもできます。
よくある質問
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アプリケーションにシームレスに統合でき、容易に共有可能なダイナミックでデータ駆動のコンテンツを作成できます。






