透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
Razor Pagesを使用してデータをExcelファイルにエクスポートする方法をお探しですか? この記事では、IronXL for .NET を使用してその方法を説明します。
IronXL は、Excelファイルの処理に使用される.NETライブラリです。 これはOpenXML SDKの上に構築されており、Excelスプレッドシートの読み取り、書き込み、および操作を簡単に行えるAPIを提供します。 IronXLは、Webアプリケーション、デスクトップアプリケーション、およびコンソールアプリケーションを含むさまざまな.NETアプリケーションで使用できます。 IronXL は、Excel ドキュメントの操作に幅広い機能を提供しており、個々のセルにデータを読み込む、書き込む、グラフやチャートを作成することができ、複雑な計算を行うことも可能です。 また、ピボットテーブル、条件付き書式、およびデータ検証などの高度なExcel機能もサポートしています。
データをExcelおよびCSVファイルにエクスポートすることは、ウェブ開発において一般的なタスクです。RazorとIronXLを使用すると、これを簡単に実行できます。 IronXLを使用すると、開発者はExcelスプレッドシートを簡単に作成し、ファイルやストリームに保存することができます。 Razorを使用して、Excelドキュメントへのリンクを含む動的コンテンツを生成し、ユーザーがウェブページから直接ダウンロードできるようにすることができます。 CSVファイル形式もIronXLを使用して生成され、同様にRazorを使用してダウンロードできます。 これにより、レポートやその他のデータ駆動コンテンツを簡単に作成し、他の人と簡単に共有できます。 全体的に、RazorとIronXL .NET Core Razor Pagesの組み合わせは、動的でデータ駆動型のウェブページを作成したいウェブ開発者にとって強力なツールセットを提供します。
Visual StudioでRazorを使用する前に、ユーザーが満たすべきいくつかの前提条件があります。 以下はいくつかの重要なものです:
IronXLのユーザーとしては、コンピューターシステムにVisual Studioをインストールしている必要があります。 Visual Studio Community は、Microsoft の公式ウェブサイトから無料でダウンロードできます。
あなたのコンピューターに .NET Core SDK がインストールされている必要もあります。 最新バージョンの .NET Core SDK は、公式の Microsoft ウェブサイトからダウンロードできます。
新しいVisual Studioプロジェクトを作成するには、次の手順に従ってください:
Visual Studioを開きます。
スタートウィンドウで「新しいプロジェクトを作成」をクリックするか、メニューバーで「ファイル」 > 「新規」 > 「プロジェクト」をクリックしてください。
Visual Studioのスタートウィンドウ
作成したいプロジェクトの種類を選択します。Razor Pagesを使用するには、「ASP.NET Core Webアプリ」を選択し、「次へ」をクリックしてください。
RazorでCSVとExcelをエクスポートする方法、図2: Visual Studioで新しい.NET Core Webアプリを作成する
Visual Studioで新しい.NET Core Webアプリを作成する
新しいウィンドウが表示されますので、新しいプロジェクト名と場所を入力してください。 次へをクリックしてください。
新しいプロジェクトを構成する
新しいウィンドウでターゲットフレームワークを選択し、「HTTPS の構成」オプションをチェックして、「作成」をクリックします。
IronXLライブラリは、さまざまな方法でダウンロードしてインストールすることができます。
これらは:
IronXLライブラリをインストールする最も簡単な方法は、NuGetパッケージマネージャーを使用することです。 マネージャーを開き、ブラウズタブでIronXLを検索します。 検索結果からIronXLを選択してインストールします。
以下のスクリーンショットは、Visual StudioでNuGetパッケージマネージャーを開く方法を示しています。
NuGet パッケージ マネージャーに移動
検索結果のIronXL:
NuGet パッケージ マネージャー UI で IronXL を検索
多くの人にとって、コンソールを使用して操作を実行することは人気のある選択肢です。 コマンドラインを使用してIronXLをインストールする場合は、以下の手順に従ってください。
Install-Package IronXL.Excel
現在、パッケージは現在のプロジェクトにダウンロード/インストールされ、使用できるようになります。
パッケージ マネージャー コンソールに IronXL をインストールする
プロジェクトが作成されると、Razorアプリケーションのシンプルなインターフェースが作成されます。 インターフェイスを変更してExcelエクスポートにします。
新しく作成したプロジェクトのウェブインターフェース
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 and togather 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 and togather 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 @and togather 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
メソッドを作成し、次のコードを書きます。 このコードはワークシートを生成し、列名を太字で書き込みます。 ユーザーはスタイルを使用してフォントサイズを設定したり、列の背景色を設定したりすることもできます。 SQL Serverやその他のデータベースサーバーからExcelにデータベースのテーブルデータをエクスポートすることと同じです。
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 = "Name";
workSheet ["B1"].Value = "Email";
workSheet ["C1"].Value = "Marks";
workSheet ["D1"].Value = "Persent Age";
workSheet ["A1:D1"].Style.Font.Bold = true;
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 File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.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 = "Name";
workSheet ["B1"].Value = "Email";
workSheet ["C1"].Value = "Marks";
workSheet ["D1"].Value = "Persent Age";
workSheet ["A1:D1"].Style.Font.Bold = true;
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 File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.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 = "Name"
workSheet ("B1").Value = "Email"
workSheet ("C1").Value = "Marks"
workSheet ("D1").Value = "Persent Age"
workSheet ("A1:D1").Style.Font.Bold = True
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 File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx")
End Function
上記のコードはワークブックを作成し、そのファイルをExcelシートとして返します。 このメソッドはボタンにリンクされ、ボタンがクリックされると、自動的にXLSXエクスポートファイルを作成してダウンロードします。
ブラウザでXLSXファイルをエクスポート
エクスポートされたXLSXファイルのデータ
上記と同様に、上記のコードサンプルでは、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ファイルをエクスポートする
RazorでCSVとExcelをエクスポートする方法、図12: エクスポートされたCSVファイルのデータ
エクスポートされたCSVファイルのデータ
データを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 ライブラリのスイートです。