IRONXLの使用 C#で最も速いDataTableをExcelにエクスポートする方法 Curtis Chau 更新日:7月 28, 2025 Download IronXL NuGet Download テキストの検索と置換 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article スプレッドシートを使用する際、Microsoft Excelアプリケーションは、大量のデータセットを表形式で管理するために設計された人気のあるスプレッドシートツールです。 Excelは、複雑な計算、チャートやグラフを使用したデータの視覚化、ピボットテーブル、Visual Basic for Applications(VBA)を介した自動化のサポートなどの強力な機能を提供します。 その堅牢なデータ分析および視覚化ツールにより、Excelはさまざまな業界で優れた選択肢となっています。 Excelを使用することで、ファイルの作成、編集、表示、共有が容易になり、データ管理の作業を効率化します。 C#では、ADO.NETライブラリのDataTableオブジェクトが、Excelワークシートのようにプログラム内の表形式データを表します。 データを行と列に整理し、簡単に操作およびエクスポートできます。 Excelと同様に、DataTableはフィルタリング、並べ替え、フォーマットオプションをサポートし、C#でのデータ範囲管理ツールとしてよく使用されます。 しかし、DataTableは実行時に作成され、アプリケーションが閉じたときにそのデータは失われます。これはExcelファイルやCSVファイルなどのより永続的な形式にエクスポートされない限りです。 今日、C#でDataTableを作成し、IronXLを使用してそのデータをExcelドキュメントにエクスポートする方法を探ります。 IronXL: A .NET Excelライブラリ IronXLは、Excelファイルの作成プロセスを簡素化するC# .NETライブラリです。 IronXLを使用すると、新しいスプレッドシートの作成、既存のものの編集、Excel数式の利用、スプレッドシートのセルのスタイル設定などが可能です。 その豊富な機能により、プログラム的にExcelファイルを操作するのが容易になり、最も重要なのは、Microsoft Office Interopを必要としないことです。これにより、Microsoft Officeやその他の特別な依存関係をインストールする必要がありません。 IronXLを使用すると、XLSやXLSX、CSVデータやTSV、JSON、XML、HTML、バイナリ、およびバイト配列など、さまざまな形式でデータの保存またはエクスポートが可能です。 また、許可やパスワードの追加などの強力なワークブックセキュリティ機能を備えており、ワークブックのメタデータの編集を可能にします。 DataTableからExcelファイルへのデータエクスポートの手順 前提条件 IronXLを使用してC#でDataTableからExcelファイルにデータをエクスポートするには、ローカルコンピュータに以下のコンポーネントをインストールする必要があります。 それらを一つずつ見てみましょう。 Visual Studio - C#プログラミングのためのIDEであるVisual Studioをインストールする必要があります。 Visual Studioのウェブサイトから最新バージョンをダウンロードしてインストールできます。 IDEが設定されたら、DataTableをExcelにエクスポートするのに役立つコンソールアプリケーションまたはWindowsフォームを作成する必要があります。 以下のスクリーンショットは、プロジェクトを作成する方法を示しています。 次に、プロジェクトの種類を選択します。 例では、コンソールアプリを作成します。 プロジェクトに名前を付け、保存する場所を選択します。 最後に、.NETフレームワークを選択し、「作成」をクリックします。 最後のスクリーンショットで「作成」をクリックすると、「DemoApp」という名前のプロジェクトが作成されます。 IronXLライブラリ - Visual StudioプロジェクトにIronXLライブラリをダウンロードしてインストールする必要があります。 これを行う方法はいくつかあります。 Visual Studioを使用する - NuGetパッケージマネージャーを使用してIronXLをインストールできます。 ツールメニューまたはソリューションエクスプローラからアクセスできます。 以下のスクリーンショットは、IronXLをインストールする手順を示しています。 まず、上部バーの「ツール」にアクセスするか、ソリューションエクスプローラ内で右クリックします。 「Manage NuGet Packages for Solution」に移動し、IronXLを検索します。 「インストール」を押すだけで、プロジェクトにIronXLライブラリが追加されます。 Developer Command Prompt - Visual StudioツールメニューまたはVisual StudioフォルダからDeveloper Command Promptを開きます。 プロジェクトにIronXLをダウンロードおよびインストールするには、次のコマンドを入力します: PM > Install-Package IronXL.Excel PM > Install-Package IronXL.Excel SHELL NuGetパッケージマネージャーから直接 - このURLhttps://www.nuget.org/packages/ironxl.excel/にアクセスしてIronXLをダウンロードします。 必要な名前空間を追加する - DataTableを作成し、IronXLを使用するには、両方ともProgram.csファイルの上部に参照する必要があります。 using IronXL; // Add reference to the IronXL library using System.Data; // Add reference to System.Data for DataTable using IronXL; // Add reference to the IronXL library using System.Data; // Add reference to System.Data for DataTable Imports IronXL ' Add reference to the IronXL library Imports System.Data ' Add reference to System.Data for DataTable $vbLabelText $csharpLabel すべての前提条件が満たされたら、DataTableからExcelシートへのデータのエクスポートを開始します。 C#でDataTableを作成する 次のコードは、2つの列ヘッダーと複数の行を持つ新しいデータテーブルを作成します: // Create a new DataTable object DataTable dt = new DataTable(); // Add column names to the DataTable dt.Columns.Add("Animal"); dt.Columns.Add("Sound"); // Add rows representing different animals and their sounds dt.Rows.Add("Lion", "Roars"); dt.Rows.Add("Dog", "Barks"); dt.Rows.Add("Cat", "Meows"); dt.Rows.Add("Goat", "Bleats"); dt.Rows.Add("Wolf", "Howls"); dt.Rows.Add("Cheetah", "Purrs"); // Create a new DataTable object DataTable dt = new DataTable(); // Add column names to the DataTable dt.Columns.Add("Animal"); dt.Columns.Add("Sound"); // Add rows representing different animals and their sounds dt.Rows.Add("Lion", "Roars"); dt.Rows.Add("Dog", "Barks"); dt.Rows.Add("Cat", "Meows"); dt.Rows.Add("Goat", "Bleats"); dt.Rows.Add("Wolf", "Howls"); dt.Rows.Add("Cheetah", "Purrs"); ' Create a new DataTable object Dim dt As New DataTable() ' Add column names to the DataTable dt.Columns.Add("Animal") dt.Columns.Add("Sound") ' Add rows representing different animals and their sounds dt.Rows.Add("Lion", "Roars") dt.Rows.Add("Dog", "Barks") dt.Rows.Add("Cat", "Meows") dt.Rows.Add("Goat", "Bleats") dt.Rows.Add("Wolf", "Howls") dt.Rows.Add("Cheetah", "Purrs") $vbLabelText $csharpLabel 最初に、"dt"と呼ばれる新しいDataTableを作成します。 次に、Columns.Addを使用して、指定された名前でデータテーブルに列を追加します。 例では、"Animal"と"Sound"という2つの列があります。 その後、Rows.Addを使用して新しい行を追加し、中括弧内に各行の内容を配置します。 内容はカンマで区切られ、列ごとに区切られた文字列になります。 IronXLを使用してExcelファイルを作成する IronXLを使用してスクラッチからExcelファイルタイプを作成する際、2ステップのプロセスであり、C#で非常に簡単に実装できます。 IronXLは最初にExcelワークブックを作成し、次にそれにワークシートを追加します。 以下のサンプルコードは、ワークブックとそのワークシートを作成する方法を示します: // Create a new workbook in XLSX format WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX); // Reference to the default worksheet in the workbook WorkSheet ws = wb.DefaultWorkSheet; // Create a new workbook in XLSX format WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX); // Reference to the default worksheet in the workbook WorkSheet ws = wb.DefaultWorkSheet; ' Create a new workbook in XLSX format Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) ' Reference to the default worksheet in the workbook Dim ws As WorkSheet = wb.DefaultWorkSheet $vbLabelText $csharpLabel IronXLを使用してDataTableからExcelワークシートへのデータのエクスポート IronXLを利用してワークシートに値を追加することで、プロセス全体が合理化され、最小限のコードでこのタスクを実行できるようになります。 ここでは、前のセクションで作成したDataTableからデータをエクスポートして、新しく作成したExcelワークシートにエクスポートする方法を学びます。 コードをステップバイステップで見てみましょう。 Excelワークシートに列ヘッダーを追加する // Assign DataTable column names to the first row of the Excel worksheet ws["A1"].Value = dt.Columns[0].ToString(); ws["B1"].Value = dt.Columns[1].ToString(); // Start adding data from the second row int rowCount = 2; // Assign DataTable column names to the first row of the Excel worksheet ws["A1"].Value = dt.Columns[0].ToString(); ws["B1"].Value = dt.Columns[1].ToString(); // Start adding data from the second row int rowCount = 2; ' Assign DataTable column names to the first row of the Excel worksheet ws("A1").Value = dt.Columns(0).ToString() ws("B1").Value = dt.Columns(1).ToString() ' Start adding data from the second row Dim rowCount As Integer = 2 $vbLabelText $csharpLabel 上記のコードでは、Excelシートの列"A1"にDataTableの列1のインデックス0の値が割り当てられ、次のExcel列"B1"の値はDataTableの列2のインデックス1から割り当てられます。 rowCount変数は2に設定されており、2行目からDataTableの行を読み取るようになっています; これは見出し行を数えないようにするためです。 Excelワークシートに行を追加する 以下のコードは、DataTableの各行を読み取り、Excelファイルの新しい行に割り当てます: // Iterate through each row in the DataTable and add to Excel worksheet foreach (DataRow row in dt.Rows) { ws["A" + (rowCount)].Value = row[0].ToString(); ws["B" + (rowCount)].Value = row[1].ToString(); rowCount++; } // Iterate through each row in the DataTable and add to Excel worksheet foreach (DataRow row in dt.Rows) { ws["A" + (rowCount)].Value = row[0].ToString(); ws["B" + (rowCount)].Value = row[1].ToString(); rowCount++; } ' Iterate through each row in the DataTable and add to Excel worksheet For Each row As DataRow In dt.Rows ws("A" & (rowCount)).Value = row(0).ToString() ws("B" & (rowCount)).Value = row(1).ToString() rowCount += 1 Next row $vbLabelText $csharpLabel rowCount変数は毎回インクリメントされ、DataTableからExcelワークシートのセルに新しい行が読み取られるようになります。 Excelファイルを保存する 最後に、SaveAs()メソッドを使用してExcelファイルを保存します。 // Save the workbook to a file wb.SaveAs("DataTable_to_Excel_IronXL.xlsx"); // Save the workbook to a file wb.SaveAs("DataTable_to_Excel_IronXL.xlsx"); ' Save the workbook to a file wb.SaveAs("DataTable_to_Excel_IronXL.xlsx") $vbLabelText $csharpLabel ファイルはCSV(カンマ区切り値)、JSON、XMLなどの他の形式でも保存できます。 // Save the workbook in different file formats wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv"); wb.SaveAsJson("DataTable_to_Excel_IronXL.json"); wb.SaveAsXml("DataTable_to_Excel_IronXL.xml"); // Save the workbook in different file formats wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv"); wb.SaveAsJson("DataTable_to_Excel_IronXL.json"); wb.SaveAsXml("DataTable_to_Excel_IronXL.xml"); ' Save the workbook in different file formats wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv") wb.SaveAsJson("DataTable_to_Excel_IronXL.json") wb.SaveAsXml("DataTable_to_Excel_IronXL.xml") $vbLabelText $csharpLabel カスタムデリミタで保存することもできます。 出力 ファイルの最終出力は次のようになります: まとめ この記事では、C#で列と行のあるDataTableを作成し、IronXLを使用してデフォルトのワークシートを持つExcelワークブックを生成する方法を示しました。 続いて、DataTableから表形式のデータをExcelファイルにエクスポートし、.xlsx形式で保存しました。 IronXLは、MS Excelをインストールしていない場合でも、Excelファイルをシームレスに操作できるユーザーフレンドリーなC#ライブラリです。 これは、さらなる操作や計算に使用されるCSVファイルなど、さまざまな形式からのデータエクスポートをサポートしています。 IronXLとその強力な機能セットについて詳しく知るには、ぜひその広範なドキュメントをチェックしてください。 それを自分で試してみませんか? IronXLは、すべての機能にフルアクセスできる無料トライアルも提供しており、この強力なライブラリがスプレッドシートプロジェクトの改善にどのように貢献できるかをすぐに探り始めることができます! よくある質問 C#を使ってDataTableをExcelに迅速にエクスポートする方法は? IronXL .NET Excelライブラリを使用して、効率的にDataTableをExcelにエクスポートできます。このライブラリを使用すればMicrosoft Office Interopを必要とせず、Excelファイルを作成および操作できます。 C#でDataTableをExcelにエクスポートするために必要なツールは何ですか? IronXLを使用してDataTableをExcelにエクスポートするには、Visual Studioがインストールされている必要があり、プロジェクトにIronXLライブラリをNuGetパッケージマネージャーを通して追加する必要があります。 C#アプリケーションでDataTableを作成する方法は? C#では、新しいDataTableオブジェクトをインスタンス化することでDataTableを作成します。その後、Columns.Addを使用して列を追加し、Rows.Addを使用して行で埋めることができます。 DataTableのデータをExcelファイルにエクスポートする方法は何ですか? DataTableからExcelファイルへのデータをエクスポートするには、各DataTable行を繰り返し処理し、それに対応するExcelセルにIronXLの機能を使って値を割り当てます。 異なる形式でExcelファイルを保存することは.NETライブラリで可能ですか? はい、IronXLを使用すれば、XLSX、CSV、JSON、XMLなどの様々な形式でExcelファイルを保存できます。カスタム区切り文字を指定することも可能です。 C#ライブラリでExcelファイルを管理するためにMicrosoft Officeは必要ですか? いいえ、Microsoft Officeをインストールする必要はありません。IronXLを使用すれば、Microsoft Office Interopに頼らずプログラム的にExcelファイルを管理できます。 なぜ.NET Excelライブラリを使用するのが良いのですか? IronXLは、Excelファイルの作成と編集、数式の適用、セルのスタイリング、および複数形式でのデータエクスポートなど多数の利点を提供します。また、パスワード保護などのセキュリティ機能もサポートしています。 Excelワークブックをプログラム的に保存する際のステップは? IronXLを使用してExcelワークブックを保存するには、SaveAsメソッドを使用し、XLSX、CSV、JSONなどの目的のファイル形式を選択します。 ネットExcelライブラリの無料トライアルはありますか? はい、IronXLは無料トライアルを提供しており、開発者がコミットする前にその機能をテストできるようにすべての機能に完全にアクセスできます。 ネットExcelライブラリの詳細な資料はどこで見つけられますか? IronXLの包括的な資料は、ガイドや例を含め公式ウェブサイトで見つけることができます。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 10月 27, 2025 C#でExcelピボットテーブルを作成する方法 この明確なステップバイステップガイドを使用して、C# InteropとIronXLを使用してExcelでピボットテーブルを作成する方法を学びましょう。 詳しく読む 公開日 10月 27, 2025 C#で列ヘッダー付きのDataGridViewをExcelにエクスポートする方法 IronXLライブラリを使用したステップバイステップのC#チュートリアルで、列ヘッダーを保持しながらDataGridViewデータをExcelにエクスポートする方法を学びましょう。 詳しく読む 公開日 10月 27, 2025 .NET Core CSVリーダーとしてのIronXLの使用方法 実用的な例とともにIronXLを.NET Core CSVリーダーとして効果的に使用する方法を学びましょう。 詳しく読む VB.NETでDataTableをExcelにエクスポートする方法C#でExcelファイルを読み取...
公開日 10月 27, 2025 C#でExcelピボットテーブルを作成する方法 この明確なステップバイステップガイドを使用して、C# InteropとIronXLを使用してExcelでピボットテーブルを作成する方法を学びましょう。 詳しく読む
公開日 10月 27, 2025 C#で列ヘッダー付きのDataGridViewをExcelにエクスポートする方法 IronXLライブラリを使用したステップバイステップのC#チュートリアルで、列ヘッダーを保持しながらDataGridViewデータをExcelにエクスポートする方法を学びましょう。 詳しく読む
公開日 10月 27, 2025 .NET Core CSVリーダーとしてのIronXLの使用方法 実用的な例とともにIronXLを.NET Core CSVリーダーとして効果的に使用する方法を学びましょう。 詳しく読む