IRONXLの使用 IronXLを使用して C# で GridView から Excel にエクスポートする方法 カーティス・チャウ 更新日:2026年3月1日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る GridViewのデータをExcelファイルにエクスポートすることは、 ASP.NET Webアプリケーションにおいて最も一般的な要件の1つです。 HtmlTextWriter および StringWriter を使用した従来のアプローチでは、偽の Excel ファイルが作成され、ユーザーがファイルを開こうとすると、ブラウザの警告や書式エラーが発生します。 このガイドでは、 IronXLを使用して GridView データを適切な形式の .xlsx ファイルにエクスポートする方法を示します。これにより、開発者が従来の方法で直面する問題を解消できます。 従来のGridViewエクスポート方式が問題を引き起こすのはなぜか? ASP.NET C# の GridView から Excel にエクスポートする従来の方法は、HTML をレンダリングし、Response ヘッダーに Content-Disposition 添付ファイルファイル名の値を設定することです。 このアプローチでは、実行時エラーを回避するために public override void VerifyRenderingInServerForm をオーバーライドする必要があります。 生成されたファイルは真のExcelファイルではなく、.xlsという拡張子を持つHTMLファイルです。そのため、ユーザーがファイルを開くとExcelは警告メッセージを表示します。 具体的には、従来の手法には次のような欠点がある。 Excelを開くたびに"ファイル形式と拡張子が一致しません"という警告が表示されます データが生のHTMLとして保存されるため、書式設定とデータ型が失われます。 回避策として VerifyRenderingInServerForm を実装する必要があり、プロジェクトに技術的負債が追加されます。 生成されたファイルには適切なセルメタデータが欠落しているため、下流の自動化ツールやレポートツールでは使用できません。 IronXL は、サーバーに Microsoft Office をインストールする必要なく、本物の .xlsx Excel ファイルを作成することで、これらの問題を解決します。 適切なデータ型、スタイル、およびOOXML構造が保持された状態で、どの表計算ソフトでも問題なく開けるファイルが生成されます。 ASP.NETプロジェクトにIronXLをインストールするにはどうすればよいですか? エクスポートロジックを記述する前に、 NuGetパッケージマネージャーを使用してIronXLをプロジェクトに追加してください。 Visual StudioでPackage Manager Consoleを開き、実行してください: Install-Package IronXl.Excel Install-Package IronXl.Excel SHELL または、 NuGetパッケージ マネージャーの UI で IronXl.Excel を検索し、そこからインストールしてください。 インストールが完了すると、任意のコードビハインドファイルで IronXL 名前空間を参照できるようになります。 IronXLは.NET Standard 2.0以降を対象としているため、最新のASP.NET Coreプロジェクトだけでなく、従来のASP.NET Frameworkアプリケーションでも動作します。 COM相互運用機能も、Officeのインストールも、Webサーバーへの追加のネイティブ依存関係も必要ありません。 詳細については、 IronXLのインストールガイドおよびIronXLのNuGetパッケージページを参照してください。 ASP.NET GridViewをエクスポート用に設定するにはどうすればよいですか? Default.aspx コントロールとエクスポート ボタンを使用して GridView ページを作成します。 マークアップは標準的なWebフォームです。 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="GridViewExportTest.Default" %> <!DOCTYPE html> <html> <head runat="server"> <title>Export GridView to Excel</title> </head> <body> <form id="form1" runat="server"> <div> <h2>IronXL GridView Export Demo</h2> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White" CellPadding="5"> </asp:GridView> <br /> <asp:Button ID="btnExport" runat="server" Text="Export to Excel (.xlsx)" OnClick="btnExport_Click" /> </div> </form> </body> </html> <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="GridViewExportTest.Default" %> <!DOCTYPE html> <html> <head runat="server"> <title>Export GridView to Excel</title> </head> <body> <form id="form1" runat="server"> <div> <h2>IronXL GridView Export Demo</h2> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White" CellPadding="5"> </asp:GridView> <br /> <asp:Button ID="btnExport" runat="server" Text="Export to Excel (.xlsx)" OnClick="btnExport_Click" /> </div> </form> </body> </html> $vbLabelText $csharpLabel このマークアップは、バインドされた GridView とエクスポートをトリガーするボタンを備えたシンプルなページを作成します。 AutoGenerateColumns="true" 属性は、グリッドがバインドされた DataTable から列名を直接読み取ることを意味します。 サンプルデータをGridViewにバインドする コードビハインドで、DataTable をグリッドにバインドし、エクスポートポストバック中に後で使用できるように Session に保存します。 using System; using System.Data; using System.Web.UI; using IronXL; namespace GridViewExport { public partial class Default : Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindGridView(); } } private void BindGridView() { DataTable dt = new DataTable("Employees"); dt.Columns.Add("EmployeeID", typeof(int)); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("Department", typeof(string)); dt.Columns.Add("Salary", typeof(decimal)); dt.Rows.Add(1, "John Smith", "Engineering", 75000); dt.Rows.Add(2, "Sarah Johnson", "Marketing", 65000); dt.Rows.Add(3, "Mike Wilson", "Sales", 70000); dt.Rows.Add(4, "Emily Davis", "Engineering", 80000); GridView1.DataSource = dt; GridView1.DataBind(); // Store DataTable in Session for export postback Session["GridData"] = dt; } } } using System; using System.Data; using System.Web.UI; using IronXL; namespace GridViewExport { public partial class Default : Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindGridView(); } } private void BindGridView() { DataTable dt = new DataTable("Employees"); dt.Columns.Add("EmployeeID", typeof(int)); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("Department", typeof(string)); dt.Columns.Add("Salary", typeof(decimal)); dt.Rows.Add(1, "John Smith", "Engineering", 75000); dt.Rows.Add(2, "Sarah Johnson", "Marketing", 65000); dt.Rows.Add(3, "Mike Wilson", "Sales", 70000); dt.Rows.Add(4, "Emily Davis", "Engineering", 80000); GridView1.DataSource = dt; GridView1.DataBind(); // Store DataTable in Session for export postback Session["GridData"] = dt; } } } Imports System Imports System.Data Imports System.Web.UI Imports IronXL Namespace GridViewExport Partial Public Class [Default] Inherits Page Protected Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then BindGridView() End If End Sub Private Sub BindGridView() Dim dt As New DataTable("Employees") dt.Columns.Add("EmployeeID", GetType(Integer)) dt.Columns.Add("Name", GetType(String)) dt.Columns.Add("Department", GetType(String)) dt.Columns.Add("Salary", GetType(Decimal)) dt.Rows.Add(1, "John Smith", "Engineering", 75000) dt.Rows.Add(2, "Sarah Johnson", "Marketing", 65000) dt.Rows.Add(3, "Mike Wilson", "Sales", 70000) dt.Rows.Add(4, "Emily Davis", "Engineering", 80000) GridView1.DataSource = dt GridView1.DataBind() ' Store DataTable in Session for export postback Session("GridData") = dt End Sub End Class End Namespace $vbLabelText $csharpLabel DataTable を Session に保存することで、エクスポート ボタンによってトリガーされるポストバック中にデータベースへの再クエリやデータの再構築を回避できます。 実際のアプリケーションでは、ハードコードされた行をEntity FrameworkまたはADO .NETを使用したデータベースクエリに置き換えてください。 IronXLを使用してGridViewのデータをExcelにエクスポートするにはどうすればよいですか? GridView エクスポートのクリーンなアプローチでは、DataTable をIronXL WorkBook に変換し、結果をブラウザに直接ストリーミングします。 以下に完全なエクスポート方法を示します。 protected void btnExport_Click(object sender, EventArgs e) { ExportGridViewToExcel(); } private void ExportGridViewToExcel() { DataTable dt = (DataTable)Session["GridData"]; // Create a workbook and load data from the DataTable WorkBook workbook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(new DataSet { Tables = { dt } }, workbook); WorkSheet worksheet = workbook.DefaultWorkSheet; // Apply header row formatting var headerRange = worksheet["A1:D1"]; headerRange.Style.Font.Bold = true; headerRange.Style.Font.Size = 12; headerRange.Style.SetBackgroundColor("#3AC0F2"); // Stream the file to the browser string filename = "GridViewExport_" + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"; Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=" + filename); workbook.SaveAsStream(Response.OutputStream, IronXl.Enum.FileFormat.Xlsx); Response.Flush(); Response.End(); } protected void btnExport_Click(object sender, EventArgs e) { ExportGridViewToExcel(); } private void ExportGridViewToExcel() { DataTable dt = (DataTable)Session["GridData"]; // Create a workbook and load data from the DataTable WorkBook workbook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(new DataSet { Tables = { dt } }, workbook); WorkSheet worksheet = workbook.DefaultWorkSheet; // Apply header row formatting var headerRange = worksheet["A1:D1"]; headerRange.Style.Font.Bold = true; headerRange.Style.Font.Size = 12; headerRange.Style.SetBackgroundColor("#3AC0F2"); // Stream the file to the browser string filename = "GridViewExport_" + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"; Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=" + filename); workbook.SaveAsStream(Response.OutputStream, IronXl.Enum.FileFormat.Xlsx); Response.Flush(); Response.End(); } Imports System Imports System.Data Imports IronXL Protected Sub btnExport_Click(sender As Object, e As EventArgs) ExportGridViewToExcel() End Sub Private Sub ExportGridViewToExcel() Dim dt As DataTable = DirectCast(Session("GridData"), DataTable) ' Create a workbook and load data from the DataTable Dim workbook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(New DataSet With {.Tables = {dt}}, workbook) Dim worksheet As WorkSheet = workbook.DefaultWorkSheet ' Apply header row formatting Dim headerRange = worksheet("A1:D1") headerRange.Style.Font.Bold = True headerRange.Style.Font.Size = 12 headerRange.Style.SetBackgroundColor("#3AC0F2") ' Stream the file to the browser Dim filename As String = "GridViewExport_" & DateTime.Now.ToString("yyyyMMdd") & ".xlsx" Response.Clear() Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" Response.AddHeader("content-disposition", "attachment;filename=" & filename) workbook.SaveAsStream(Response.OutputStream, IronXl.Enum.FileFormat.Xlsx) Response.Flush() Response.End() End Sub $vbLabelText $csharpLabel エクスポートの手順をステップごとに解説します このプロセスは、論理的に3つのステップに分けられます。 DataTable を取得します-- Session["GridData"] は、グリッドにバインドされていたものと同じ DataTable を返します。 これにより、データベースへの重複呼び出しを回避できます。 2.ワークブックを作成します-- WorkBook.LoadWorkSheetsFromDataSet は DataTable ごとに 1 つのワークシートを自動的に作成し、列ヘッダーと行の値を適切なセルにコピーします。 3.ブラウザへのストリーミング-- Content-Type を OOXML MIME タイプに設定し、Response.OutputStream に書き込むと、正しい .xlsx 拡張子でブラウザのダウンロードがトリガーされます。 一時ファイルはディスクに書き込まれません。 これは従来のHtmlTextWriterのアプローチとは根本的に異なります。 エクスポートされたファイルはOpen XML形式(Microsoft Excelがネイティブで使用している形式と同じ)を使用しているため、警告なしで開くことができます。 プログラムによるデータ読み込みの詳細については、 IronXL WorkBook のドキュメントおよびC# で DataTable を Excel にエクスポートする方法を参照してください。 Excelファイルをストリーミングではなくディスクに保存するにはどうすればよいですか? アプリケーションが、ダウンロード リンクをユーザーに配信する前にサーバー上でエクスポートをアーカイブする必要がある場合は、ワークブックをストリーミングするのではなく、ファイル パスに保存してください。 private void SaveExcelToDisk(WorkBook workbook, string exportFolder) { // Ensure the exports directory exists if (!System.IO.Directory.Exists(exportFolder)) { System.IO.Directory.CreateDirectory(exportFolder); } string timestamp = DateTime.Now.ToString("yyyyMMdd_HHmmss"); string filename = System.IO.Path.Combine(exportFolder, $"Report_{timestamp}.xlsx"); workbook.SaveAs(filename); // Return the relative path for generating a download link string relativePath = "~/Exports/Report_" + timestamp + ".xlsx"; Response.Write($"<script>alert('File saved to {relativePath}');</script>"); } private void SaveExcelToDisk(WorkBook workbook, string exportFolder) { // Ensure the exports directory exists if (!System.IO.Directory.Exists(exportFolder)) { System.IO.Directory.CreateDirectory(exportFolder); } string timestamp = DateTime.Now.ToString("yyyyMMdd_HHmmss"); string filename = System.IO.Path.Combine(exportFolder, $"Report_{timestamp}.xlsx"); workbook.SaveAs(filename); // Return the relative path for generating a download link string relativePath = "~/Exports/Report_" + timestamp + ".xlsx"; Response.Write($"<script>alert('File saved to {relativePath}');</script>"); } Private Sub SaveExcelToDisk(workbook As WorkBook, exportFolder As String) ' Ensure the exports directory exists If Not System.IO.Directory.Exists(exportFolder) Then System.IO.Directory.CreateDirectory(exportFolder) End If Dim timestamp As String = DateTime.Now.ToString("yyyyMMdd_HHmmss") Dim filename As String = System.IO.Path.Combine(exportFolder, $"Report_{timestamp}.xlsx") workbook.SaveAs(filename) ' Return the relative path for generating a download link Dim relativePath As String = "~/Exports/Report_" & timestamp & ".xlsx" Response.Write($"<script>alert('File saved to {relativePath}');</script>") End Sub $vbLabelText $csharpLabel ストリーミングとディスク保存の選択 ストリーミング方式とディスク保存方式のエクスポート戦略の比較 戦略 長所 短所 最適な用途 ブラウザにストリーミング ディスク使用量なし、即時配信 アーカイブまたは再送信できません オンデマンドのユーザーエクスポート ディスクに保存 ファイルは監査、再ダウンロード、またはメール送信のために保持されます。 クリーンアップ作業、ディスク容量管理が必要です 定期レポート、監査証跡 ほとんどのインタラクティブなWebアプリケーションでは、ブラウザへの直接ストリーミングが最適な選択肢です。ファイルをメールで送信する必要がある場合、コンプライアンスのために保存する必要がある場合、またはファイル管理ページからの再ダウンロードを許可する必要がある場合は、ディスクに保存してください。 エクスポートしたExcelシートに高度な書式設定を適用するにはどうすればよいですか? IronXLを使えば、セルスタイル、列幅、数値形式などを細かく制御できます。 以下の例は、プロフェッショナルなスタイルのエクスポートを作成する方法を示しています。 private void ExportWithFormatting() { DataTable dt = new DataTable("Products"); dt.Columns.Add("Product", typeof(string)); dt.Columns.Add("Category", typeof(string)); dt.Columns.Add("Price", typeof(decimal)); dt.Columns.Add("InStock", typeof(bool)); dt.Rows.Add("Widget A", "Hardware", 29.99m, true); dt.Rows.Add("Widget B", "Hardware", 49.99m, false); dt.Rows.Add("Service Plan", "Support", 199.00m, true); WorkBook workbook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(new DataSet { Tables = { dt } }, workbook); WorkSheet sheet = workbook.WorkSheets[0]; // Style the header row sheet["A1:D1"].Style.Font.Bold = true; sheet["A1:D1"].Style.Font.Size = 13; sheet["A1:D1"].Style.SetBackgroundColor("#2196F3"); sheet["A1:D1"].Style.Font.Color = "#FFFFFF"; // Apply currency format to the Price column (column C, rows 2 onwards) sheet["C2:C4"].Style.NumberFormat.Format = "$#,##0.00"; // Auto-size all columns for readability for (int col = 0; col < 4; col++) { sheet.AutoSizeColumn(col); } // Freeze the header row so it stays visible when scrolling sheet.FreezePanes(0, 0, 1, 0); workbook.SaveAs("FormattedExport.xlsx"); } private void ExportWithFormatting() { DataTable dt = new DataTable("Products"); dt.Columns.Add("Product", typeof(string)); dt.Columns.Add("Category", typeof(string)); dt.Columns.Add("Price", typeof(decimal)); dt.Columns.Add("InStock", typeof(bool)); dt.Rows.Add("Widget A", "Hardware", 29.99m, true); dt.Rows.Add("Widget B", "Hardware", 49.99m, false); dt.Rows.Add("Service Plan", "Support", 199.00m, true); WorkBook workbook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(new DataSet { Tables = { dt } }, workbook); WorkSheet sheet = workbook.WorkSheets[0]; // Style the header row sheet["A1:D1"].Style.Font.Bold = true; sheet["A1:D1"].Style.Font.Size = 13; sheet["A1:D1"].Style.SetBackgroundColor("#2196F3"); sheet["A1:D1"].Style.Font.Color = "#FFFFFF"; // Apply currency format to the Price column (column C, rows 2 onwards) sheet["C2:C4"].Style.NumberFormat.Format = "$#,##0.00"; // Auto-size all columns for readability for (int col = 0; col < 4; col++) { sheet.AutoSizeColumn(col); } // Freeze the header row so it stays visible when scrolling sheet.FreezePanes(0, 0, 1, 0); workbook.SaveAs("FormattedExport.xlsx"); } Private Sub ExportWithFormatting() Dim dt As New DataTable("Products") dt.Columns.Add("Product", GetType(String)) dt.Columns.Add("Category", GetType(String)) dt.Columns.Add("Price", GetType(Decimal)) dt.Columns.Add("InStock", GetType(Boolean)) dt.Rows.Add("Widget A", "Hardware", 29.99D, True) dt.Rows.Add("Widget B", "Hardware", 49.99D, False) dt.Rows.Add("Service Plan", "Support", 199.0D, True) Dim workbook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(New DataSet With {.Tables = {dt}}, workbook) Dim sheet As WorkSheet = workbook.WorkSheets(0) ' Style the header row sheet("A1:D1").Style.Font.Bold = True sheet("A1:D1").Style.Font.Size = 13 sheet("A1:D1").Style.SetBackgroundColor("#2196F3") sheet("A1:D1").Style.Font.Color = "#FFFFFF" ' Apply currency format to the Price column (column C, rows 2 onwards) sheet("C2:C4").Style.NumberFormat.Format = "$#,##0.00" ' Auto-size all columns for readability For col As Integer = 0 To 3 sheet.AutoSizeColumn(col) Next ' Freeze the header row so it stays visible when scrolling sheet.FreezePanes(0, 0, 1, 0) workbook.SaveAs("FormattedExport.xlsx") End Sub $vbLabelText $csharpLabel IronXLで利用可能な書式設定オプション IronXL は、 IronXl.Styles 名前空間を通じて、豊富な書式設定プロパティを提供します。 -フォントスタイル- 太字、斜体、下線、フォントファミリー、サイズ -セルの背景色-- 16進数カラー文字列を直接受け付けます -数値および日付形式-- 通貨、パーセンテージ、日付パターンを含む、あらゆる Excel 書式文字列 -列幅-- 手動でピクセル幅を指定するか、自動調整の場合は AutoSizeColumn を入力してください。 -ペインの固定-- スクロール中にヘッダー行または列を固定します。 -セルの境界線-- スタイルと色をカスタマイズ可能な4つの境界線すべて -セルを結合する-- レポートヘッダー用に、行または列をまたいでセルを結合する 完全なAPIリファレンスについては、 IronXLのセルスタイル設定に関するドキュメントとIronXLの数値書式設定に関するドキュメントを参照してください。 GridViewのエクスポートで大規模なデータセットをどのように処理しますか? GridViewが数千行のデータにバインドされている場合、エクスポートを高速かつメモリ効率よく行うためのいくつかのテクニックがあります。 ページングとサーバーサイドデータテーブル GridViewの表示ページのみをエクスポートしないでください。 WorkBook.LoadWorkSheetsFromDataSet を呼び出す前に、データソースから完全なデータセットを DataTable に取得してください。 IronXLは、ワークブック全体を複数回メモリに読み込むことなく、1回の処理で行を書き込むため、数万行のデータにも対応できます。 複数のワークシートを追加する 複数の DataTable オブジェクトを DataSet に含めることで、別々のタブを持つワークブックを作成できます。 DataSet exportSet = new DataSet(); exportSet.Tables.Add(GetEmployeeData()); // Sheet 1 exportSet.Tables.Add(GetDepartmentData()); // Sheet 2 exportSet.Tables.Add(GetSalaryReport()); // Sheet 3 WorkBook workbook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(exportSet, workbook); Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=MultiSheetReport.xlsx"); workbook.SaveAsStream(Response.OutputStream, IronXl.Enum.FileFormat.Xlsx); Response.Flush(); Response.End(); DataSet exportSet = new DataSet(); exportSet.Tables.Add(GetEmployeeData()); // Sheet 1 exportSet.Tables.Add(GetDepartmentData()); // Sheet 2 exportSet.Tables.Add(GetSalaryReport()); // Sheet 3 WorkBook workbook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(exportSet, workbook); Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=MultiSheetReport.xlsx"); workbook.SaveAsStream(Response.OutputStream, IronXl.Enum.FileFormat.Xlsx); Response.Flush(); Response.End(); Imports System.Data Imports IronXL Dim exportSet As New DataSet() exportSet.Tables.Add(GetEmployeeData()) ' Sheet 1 exportSet.Tables.Add(GetDepartmentData()) ' Sheet 2 exportSet.Tables.Add(GetSalaryReport()) ' Sheet 3 Dim workbook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(exportSet, workbook) Response.Clear() Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" Response.AddHeader("content-disposition", "attachment;filename=MultiSheetReport.xlsx") workbook.SaveAsStream(Response.OutputStream, IronXL.FileFormat.Xlsx) Response.Flush() Response.End() $vbLabelText $csharpLabel 各 DataTable.TableName は、Excel のワークシートのタブ名になります。 このパターンは、複数のビューにわたる関連データを組み合わせる管理レポートに適しています。 関連ガイド: C#で複数シートのExcelワークブックを作成する方法 C#でExcelファイルを読み込む方法 C#でDataTableをExcelにエクスポートする方法 IronXLをASP.NET Coreで使用する方法 IronXLとEPPlusの比較 - 機能比較 IronXLをGridViewのエクスポートに使用する主なメリットは何ですか? IronXLを使用してGridViewデータをエクスポートする方法は、従来のHTMLラップ方式に比べて明確な利点があります。 -正規の Excel ファイル-- ブラウザの警告やエラー メッセージなしで開ける有効な .xlsx フォーマットを作成します Officeのインストールは不要です。Microsoft ExcelやOffice相互運用機能のないWebサーバーでも動作します。 VerifyRenderingInServerForm のオーバーライドなし-- 従来のコードを煩雑にする定型的な回避策を排除します -完全な書式設定制御- セルのスタイル設定、数値書式の適用、ウィンドウ枠の固定、およびProfessionalシートのプログラムによる作成 -複数シートのサポート- 関連するデータセットを単一のワークブック内の別々のタブとしてエクスポートします -クロスプラットフォーム互換性- WindowsおよびLinuxサーバー(DockerコンテナおよびAzure App Serviceを含む)で正しく動作します このライブラリはNuGetで入手可能で、 .NET 10を含むすべての最新 for .NETターゲットをサポートしています。また、CSVやODSなどの他の形式の読み書きもサポートしているため、アプリケーションにおけるスプレッドシート関連のあらゆるニーズに対応する単一の依存関係として利用できます。 他のExcelライブラリとの比較については、 "IronXLとClosedXMLの比較"および" IronXLの機能概要"を参照してください。 次のステップは何ですか? これで、従来の HtmlTextWriter GridView エクスポートを、クリーンで警告のないIronXL実装に置き換えるために必要なものがすべて揃いました。 今後の進め方は以下のとおりです。 無料トライアルをお試しください-- クレジットカード不要でIronXLの30日間無料トライアルを開始し、ご自身のプロジェクトでエクスポートコードをテストしてください。 IronXLのチュートリアルをもっとご覧ください。IronXLIronXLでは、データのインポート、セルの数式、グラフの生成、Excelテンプレートのワークフローについて解説しています。 API リファレンスをお読みください-- IronXL API ドキュメントには、WorkSheet、およびスタイリング API のすべてのメソッドが記載されています。 -ライセンスオプションを比較する- IronXLの価格表を確認し、チームの規模と導入シナリオに最適なライセンスを見つけてください。 質問してください-- 予期せぬ問題が発生した場合は、 Iron Softwareのサポートチームとコミュニティフォーラムをご利用ください。 よくある質問 GridView データを Excel にエクスポートするのにIronXLを使用する必要があるのはなぜですか? IronXL を使用すると、ブラウザーの警告や書式設定エラーなど、HtmlTextWriter や StringWriter に関連する一般的な問題が発生することなく、 ASP.NET C# の GridView から本物の XLSX ファイルを作成できます。 HtmlTextWriter を使用して Excel にエクスポートする場合の制限は何ですか? HtmlTextWriter は、ブラウザの警告やフォーマットの問題を引き起こす可能性のある偽の Excel ファイルを作成することがよくあります。IronXLは、本物の Excel ファイルを生成することでこれらの問題を解決します。 IronXL はGridView からデータをエクスポートするプロセスをどのように改善しますか? IronXL は、開発者が HTML ベースの回避策を必要とせずに、 ASP.NETアプリケーションから直接適切にフォーマットされた Excel ファイルを生成できるようにすることで、GridView からのデータのエクスポートを簡素化します。 IronXL はエクスポートされた Excel ファイルにどのようなファイル形式を使用しますか? IronXL はデータを正規の XLSX ファイルにエクスポートし、Excel で開いたときに互換性と適切な書式設定を保証します。 IronXL は、Excel にエクスポートする際の書式設定の問題を解決できますか? はい、 IronXL は真の Excel ファイルを作成することで書式設定の問題を解消し、ブラウザの警告をトリガーすることなくデータが正しく表示されるようにします。 IronXLを使用して GridView データをエクスポートするためのコード例はありますか? はい、チュートリアルには、 IronXLを使用して GridView データを Excel に効率的かつ効果的にエクスポートする方法を示すコード例が含まれています。 IronXL はGridView からの大規模なデータセットのエクスポートをサポートしていますか? IronXLは大規模なデータセットを効率的に処理するように設計されており、GridView から Excel に大量のデータをエクスポートするのに適しています。 Excel エクスポートの従来の方法と比べてIronXLを使用する利点は何ですか? IronXL は、ブラウザの警告を排除し、正しいファイル形式を保証し、GridView データをエクスポートするための簡単なコード実装を提供する、より信頼性が高く効率的なソリューションを提供します。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 2026年3月1日 ASP .NET C# で Excel ファイルをダウンロード: XLSX、CSV などにデータをエクスポート C#とIronXLを使用して、 ASP.NET CoreでExcelファイルをダウンロードします。MVCコントローラーからMemoryStreamとFile()を使用して、XLSX、CSV、XML形式でデータをエクスポートします。コード例も含まれています。 詳しく読む 更新日 2026年3月1日 IronXLを使用してBlazorで Excel ファイルをエクスポートする方法 IronXLを使用してBlazor Server アプリケーションから Excel にデータをエクスポートする方法を学びます。このガイドでは、プロジェクトのセットアップ、サービス設計、条件付き書式、複数シートのレポート、エラー処理について、完全な C# コード例とともに説明します。 詳しく読む 更新日 2026年2月27日 StreamReader の代わりに C# で Excel ファイルを読み取る方法 StreamReader が Excel ファイルを読み取れない理由と、 IronXL を使用して C# .NETのディスクまたはメモリ ストリームから XLSX および XLS ワークブックを読み込む方法について説明します。 詳しく読む ExcelオブジェクトをC#で解放 | IronXLでExcelプロセスの滞留を停止IronXLを使用して、Office を...
更新日 2026年3月1日 ASP .NET C# で Excel ファイルをダウンロード: XLSX、CSV などにデータをエクスポート C#とIronXLを使用して、 ASP.NET CoreでExcelファイルをダウンロードします。MVCコントローラーからMemoryStreamとFile()を使用して、XLSX、CSV、XML形式でデータをエクスポートします。コード例も含まれています。 詳しく読む
更新日 2026年3月1日 IronXLを使用してBlazorで Excel ファイルをエクスポートする方法 IronXLを使用してBlazor Server アプリケーションから Excel にデータをエクスポートする方法を学びます。このガイドでは、プロジェクトのセットアップ、サービス設計、条件付き書式、複数シートのレポート、エラー処理について、完全な C# コード例とともに説明します。 詳しく読む
更新日 2026年2月27日 StreamReader の代わりに C# で Excel ファイルを読み取る方法 StreamReader が Excel ファイルを読み取れない理由と、 IronXL を使用して C# .NETのディスクまたはメモリ ストリームから XLSX および XLS ワークブックを読み込む方法について説明します。 詳しく読む