IRONXLの使用 IronXLを使ってC#でSQLデータをExcelにエクスポートする方法 カーティス・チャウ 更新日:2026年1月5日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る SQL ServerからMicrosoft Excelへのデータエクスポートは、レポートシステム、データ分析ツール、ビジネスアプリケーションを構築する.NET開発者にとって一般的な要件です。 このチュートリアルでは、IronXLを使用してC#でSQLデータをExcelにエクスポートする方法を示します。 無料トライアルを開始して、以下のコード例に従ってください。 今IronXLを始めましょう。 無料で始める SQLサーバーのデータベースからデータをエクスポートする最良の方法は何ですか? SQL ServerからExcelファイルにデータをエクスポートする最も効率的な方法は、次の3つのステップです。データベース接続を確立し、DataTableにデータを取得し、IronXLを使用してExcelワークシートにデータを書き込みます。 Microsoft Interopソリューションとは異なり、IronXL.Excelは独立して動作し、大規模なデータセットを優れたパフォーマンスで処理します。 どのように SQL Server に接続し、データを取得しますか? SQL データをエクスポートする前に、接続を確立し、DataTableを埋める SQL クエリを実行する必要があります。 接続文字列には、データへのアクセスに必要なSQL Serverデータベースの認証情報とサーバー情報が含まれています。 Visual Studioプロジェクトで以下の名前空間をインポートする必要があります: using IronXL; using System.Data; using System.Data.SqlClient; // Define connection string for SQL Server string connectionString = @"Data Source=localhost;Initial Catalog=Northwind;Integrated Security=True"; // SQL query to retrieve data from SQL Server table string sql = "SELECT * FROM Customers"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Use SqlDataAdapter to fill DataTable with query results SqlDataAdapter adapter = new SqlDataAdapter(sql, connection); DataTable dt = new DataTable(); adapter.Fill(dt); // Create new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("CustomerData"); // Export DataTable to Excel worksheet with column names int rowIndex = 1; // Write column headers from DataTable for (int j = 0; j < dt.Columns.Count; j++) { workSheet.SetCellValue(0, j, dt.Columns[j].ColumnName); } // Fill worksheet with data values for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { string cellValue = dt.Rows[i][j].ToString(); workSheet.SetCellValue(rowIndex, j, cellValue); } rowIndex++; } // Save Excel file in xlsx format workBook.SaveAs("CustomerExport.xlsx"); } using IronXL; using System.Data; using System.Data.SqlClient; // Define connection string for SQL Server string connectionString = @"Data Source=localhost;Initial Catalog=Northwind;Integrated Security=True"; // SQL query to retrieve data from SQL Server table string sql = "SELECT * FROM Customers"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Use SqlDataAdapter to fill DataTable with query results SqlDataAdapter adapter = new SqlDataAdapter(sql, connection); DataTable dt = new DataTable(); adapter.Fill(dt); // Create new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("CustomerData"); // Export DataTable to Excel worksheet with column names int rowIndex = 1; // Write column headers from DataTable for (int j = 0; j < dt.Columns.Count; j++) { workSheet.SetCellValue(0, j, dt.Columns[j].ColumnName); } // Fill worksheet with data values for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { string cellValue = dt.Rows[i][j].ToString(); workSheet.SetCellValue(rowIndex, j, cellValue); } rowIndex++; } // Save Excel file in xlsx format workBook.SaveAs("CustomerExport.xlsx"); } Imports IronXL Imports System.Data Imports System.Data.SqlClient ' Define connection string for SQL Server Dim connectionString As String = "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=True" ' SQL query to retrieve data from SQL Server table Dim sql As String = "SELECT * FROM Customers" Using connection As New SqlConnection(connectionString) connection.Open() ' Use SqlDataAdapter to fill DataTable with query results Dim adapter As New SqlDataAdapter(sql, connection) Dim dt As New DataTable() adapter.Fill(dt) ' Create new workbook and worksheet Dim workBook As WorkBook = WorkBook.Create() Dim workSheet As WorkSheet = workBook.CreateWorkSheet("CustomerData") ' Export DataTable to Excel worksheet with column names Dim rowIndex As Integer = 1 ' Write column headers from DataTable For j As Integer = 0 To dt.Columns.Count - 1 workSheet.SetCellValue(0, j, dt.Columns(j).ColumnName) Next ' Fill worksheet with data values For i As Integer = 0 To dt.Rows.Count - 1 For j As Integer = 0 To dt.Columns.Count - 1 Dim cellValue As String = dt.Rows(i)(j).ToString() workSheet.SetCellValue(rowIndex, j, cellValue) Next rowIndex += 1 Next ' Save Excel file in xlsx format workBook.SaveAs("CustomerExport.xlsx") End Using $vbLabelText $csharpLabel 出力 How to Export SQL Data to Excel Using C# with IronXL: Image 1 - Generated Excel file. このコードは、SQL Serverのテーブル構造から適切な形式の列ヘッダーを持つExcelファイルを作成します。 DataTable dtは、クエリ結果を格納し、Excelシートの各セルに体系的に書き込まれます。 次のコードは、ワークシートのセルに値を入力するaddメソッド・パターンを示しています。 IronXLはMicrosoft Officeアプリケーションとの互換性を最大限に高めるため、xlsとxlsxの両フォーマットをサポートしています。 どのようにASP.NETエクスポートボタンを使用してデータをエクスポートできますか? Webアプリケーションの場合、通常、ユーザーがエクスポートボタンをクリックすると、エクスポートが開始されます。 次のコードは、ボタンをクリックしたイベントを処理し、Response.AddHeaderを使用してファイルのダウンロードを開始する方法を示しています。 using IronXL; using System; using System.Data; using System.Data.SqlClient; using System.IO; using System.Web.UI; public partial class ExportPage : Page { private void ExportButton_Click(object sender, EventArgs e) { string connectionString = @"Data Source=localhost;Initial Catalog=Sales;Integrated Security=True"; try { using (SqlConnection connection = new SqlConnection(connectionString)) { // Execute SQL query to get data from SQL server SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Orders", connection); DataSet dataSet = new DataSet(); adapter.Fill(dataSet); // Create Excel workbook from DataSet - each table becomes a sheet WorkBook workBook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook); // Convert to byte array for download byte[] fileBytes = workBook.ToByteArray(); string filename = "OrdersExport.xlsx"; // Set response headers for file download Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=" + filename); Response.BinaryWrite(fileBytes); Response.End(); } } catch (Exception ex) { // Handle any errors during export Response.Write("Export error: " + ex.Message); } } } using IronXL; using System; using System.Data; using System.Data.SqlClient; using System.IO; using System.Web.UI; public partial class ExportPage : Page { private void ExportButton_Click(object sender, EventArgs e) { string connectionString = @"Data Source=localhost;Initial Catalog=Sales;Integrated Security=True"; try { using (SqlConnection connection = new SqlConnection(connectionString)) { // Execute SQL query to get data from SQL server SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Orders", connection); DataSet dataSet = new DataSet(); adapter.Fill(dataSet); // Create Excel workbook from DataSet - each table becomes a sheet WorkBook workBook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook); // Convert to byte array for download byte[] fileBytes = workBook.ToByteArray(); string filename = "OrdersExport.xlsx"; // Set response headers for file download Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment;filename=" + filename); Response.BinaryWrite(fileBytes); Response.End(); } } catch (Exception ex) { // Handle any errors during export Response.Write("Export error: " + ex.Message); } } } Imports IronXL Imports System Imports System.Data Imports System.Data.SqlClient Imports System.IO Imports System.Web.UI Public Partial Class ExportPage Inherits Page Private Sub ExportButton_Click(sender As Object, e As EventArgs) Dim connectionString As String = "Data Source=localhost;Initial Catalog=Sales;Integrated Security=True" Try Using connection As New SqlConnection(connectionString) ' Execute SQL query to get data from SQL server Dim adapter As New SqlDataAdapter("SELECT * FROM Orders", connection) Dim dataSet As New DataSet() adapter.Fill(dataSet) ' Create Excel workbook from DataSet - each table becomes a sheet Dim workBook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) ' Convert to byte array for download Dim fileBytes As Byte() = workBook.ToByteArray() Dim filename As String = "OrdersExport.xlsx" ' Set response headers for file download Response.Clear() Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" Response.AddHeader("content-disposition", "attachment;filename=" & filename) Response.BinaryWrite(fileBytes) Response.End() End Using Catch ex As Exception ' Handle any errors during export Response.Write("Export error: " & ex.Message) End Try End Sub End Class $vbLabelText $csharpLabel エクスポート ボタンの例 How to Export SQL Data to Excel Using C# with IronXL: Image 2 - Example export button ui. 出力 How to Export SQL Data to Excel Using C# with IronXL: Image 3 - Generated file. object senderとEventArgs eパラメータは、ASP.NETイベントハンドラの標準です。 Microsoft Interopがobject misValueを必要とするのとは異なり、IronXLはよりクリーンなAPIを使用しています。 ユーザがエクスポートボタンをクリックすると、このプライベートボイドメソッドがデータベースクエリを実行し、Excelドキュメントを作成し、ブラウザを介してファイルのダウンロードをトリガします。 どのようにデータをインポートし、列ヘッダー付きの Excel ファイルを作成しますか? IronXLはExcelファイルの作成とデータのインポートを効率的に行う複数の方法を提供します。 LoadWorkSheetsFromDataSet メソッドは DataTable コレクションを受け入れ、Excel ワークシートのヘッダーとして列名を自動的に保持します。 このアプローチは、System.DataオブジェクトとMicrosoft SQL Serverでシームレスに動作します。 using IronXL; using System.Data; using System.Data.SqlClient; // Connection to SQL database string connectionString = @"Data Source=.;Initial Catalog=Inventory;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Query multiple tables from database SqlDataAdapter productsAdapter = new SqlDataAdapter("SELECT * FROM Products", connection); SqlDataAdapter categoriesAdapter = new SqlDataAdapter("SELECT * FROM Categories", connection); DataSet dataSet = new DataSet(); productsAdapter.Fill(dataSet, "Products"); categoriesAdapter.Fill(dataSet, "Categories"); // Create new workbook and load all tables WorkBook workBook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook); // Save as xlsx file workBook.SaveAs("InventoryReport.xlsx"); } using IronXL; using System.Data; using System.Data.SqlClient; // Connection to SQL database string connectionString = @"Data Source=.;Initial Catalog=Inventory;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Query multiple tables from database SqlDataAdapter productsAdapter = new SqlDataAdapter("SELECT * FROM Products", connection); SqlDataAdapter categoriesAdapter = new SqlDataAdapter("SELECT * FROM Categories", connection); DataSet dataSet = new DataSet(); productsAdapter.Fill(dataSet, "Products"); categoriesAdapter.Fill(dataSet, "Categories"); // Create new workbook and load all tables WorkBook workBook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook); // Save as xlsx file workBook.SaveAs("InventoryReport.xlsx"); } Imports IronXL Imports System.Data Imports System.Data.SqlClient ' Connection to SQL database Dim connectionString As String = "Data Source=.;Initial Catalog=Inventory;Integrated Security=True" Using connection As New SqlConnection(connectionString) connection.Open() ' Query multiple tables from database Dim productsAdapter As New SqlDataAdapter("SELECT * FROM Products", connection) Dim categoriesAdapter As New SqlDataAdapter("SELECT * FROM Categories", connection) Dim dataSet As New DataSet() productsAdapter.Fill(dataSet, "Products") categoriesAdapter.Fill(dataSet, "Categories") ' Create new workbook and load all tables Dim workBook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) ' Save as xlsx file workBook.SaveAs("InventoryReport.xlsx") End Using $vbLabelText $csharpLabel 出力 How to Export SQL Data to Excel Using C# with IronXL: Image 4 - Generated file with column headersHow to Export SQL Data to Excel Using C# with IronXL: Image 4 - Generated file with column headers. このアプローチでは、複数のSQL Serverテーブルを効率的に処理し、1つのワークブック内に個別のワークシート・タブを作成します。 ストアドプロシージャを使用するアプリケーションでは、CommandType.StoredProcedureを使用して、インラインSQLクエリをプロシージャ呼び出しに置き換えるだけです。 HTMLマークアップを使用したWebアプリケーションについてはどうですか? HTMLマークアップがボタンやデータグリッドで構成されているASP.NETアプリケーションでは、IronXLはシームレスに統合されます。 あなたのページのHTMLマークアップは標準的なウェブコントロールで構成され、サーバーサイドのエクスポート操作をトリガーし、IronXLはMicrosoft Officeに依存することなくすべてのExcel生成を処理します。 DataSetおよびDataTableオブジェクトのエクスポートに関する詳細なガイダンスについては、IronXLのドキュメントをご覧ください。 結論 C#を使用してSQLデータをExcelにエクスポートするのは、IronXLを使えば簡単です。 このライブラリは、DataTable、DataSet、およびデータベースの直接統合のための堅牢なサポートを提供しながら、複雑なInterop依存関係を排除します。 コンソールアプリケーションやファイルダウンロード機能を持つウェブベースのレポートシステムを構築する場合でも、IronXLは信頼性の高いExcelファイル生成を提供します。 Purchase a license for production deployment, or continue exploring with a free trial to test the full capabilities of this Excel library in your .NET projects. よくある質問 C#を使用してSQLデータをExcelにエクスポートするにはどうすればよいですか? 強力なExcelライブラリであるIronXLを活用することで、C#を使ってSQLデータをExcelにエクスポートすることができます。これはプロセスを簡素化し、Microsoft Officeのインストールを必要としません。 IronXLを使ってSQLデータをエクスポートするための前提条件は何ですか? SQLデータのエクスポートにIronXLを使用するには、C#の基本的な理解、SQLサーバーへのアクセス、開発環境にインストールされたIronXLライブラリが必要です。 IronXLでSQLデータをExcelにエクスポートするにはMicrosoft Officeがインストールされている必要がありますか? IronXLでは、Microsoft OfficeをインストールしなくてもSQLデータをExcelにエクスポートすることができます。 SQLデータをExcelにエクスポートする際、IronXLは大きなデータセットを扱えますか? IronXLは大規模なデータセットを効率的に処理できるため、SQLの膨大なデータをExcelにエクスポートするのに適しています。 IronXLはすべてのバージョンのSQL Serverと互換性がありますか? IronXLは様々なバージョンのSQL Serverで動作するように設計されており、異なる環境での互換性と使いやすさを保証します。 SQLデータをExcelにエクスポートするには、どのような使用例がありますか? SQLデータをExcelにエクスポートすることは、レポーティングシステム、データ分析ツール、ビジネスアプリケーションを構築する際に有用です。 IronXLはExcelファイルのフォーマットオプションをサポートしていますか? IronXLには様々なフォーマットオプションがあり、エクスポートしたExcelファイルの外観や構造をカスタマイズすることができます。 IronXLはSQLデータをExcelにエクスポートするプロセスをどのように簡素化しますか? IronXLは、SQL Serverへの接続、DataTableレコードの取得、Excelファイルの生成など、複雑なセットアップや追加ソフトウェアを必要としない直感的な方法を提供することで、エクスポートプロセスを簡素化します。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 2026年2月15日 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法を学びます。 詳しく読む 公開日 2026年2月15日 IronXLを使用してOfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法 IronXLを使用して、OfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法について説明します。 詳しく読む 公開日 2026年2月15日 C# CSV to XLSX: 完全な開発者ガイド IronXLを使用してC#でCSVをXLSXに変換します。CSVファイルを読み込み、データ型を保持し、グラフを追加し、Microsoft Officeに依存せずにExcel形式にエクスポートします。 詳しく読む C# DataGridView書式付きExcelへのエクスポート:完全ガイドIronXLを使用してC#でExcelフ...
公開日 2026年2月15日 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法を学びます。 詳しく読む
公開日 2026年2月15日 IronXLを使用してOfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法 IronXLを使用して、OfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法について説明します。 詳しく読む
公開日 2026年2月15日 C# CSV to XLSX: 完全な開発者ガイド IronXLを使用してC#でCSVをXLSXに変換します。CSVファイルを読み込み、データ型を保持し、グラフを追加し、Microsoft Officeに依存せずにExcel形式にエクスポートします。 詳しく読む