データセットをExcel VB .NETにエクスポートする方法:IronXLによる完全ガイド
VB.NET でデータセットを Excel にエクスポートすると、開発者は構造化データをプロフェッショナルなスプレッドシート ファイルに変換できます。 デスクトップ アプリで DataGrid を操作する場合でも、システム データベースから情報を取得する場合でも、IronXL は、このワークフローを効率化する直感的な API を提供します。 ユーザーのマシンに Microsoft Office をインストールしなくても、Excel ファイルを作成、編集、操作したり、データをエクスポートしたりできます。
なぜ IronXL でデータをエクスポートするのですか?
このライブラリは、大規模なデータセットを効率的に処理する必要がある開発者にとっての答えです。 標準の COM 相互運用とは異なり、IronXL はデータ量が増加しても遅延しません。 以下では、プロジェクトを設定してエクスポートを実行する方法について詳しく説明します。
無料トライアルを開始して、 IronXL が .NET Framework プロジェクトの Dataset および DataTable 操作をどのように簡素化するかを確認してください。
VB.NET でデータセットを Excel にエクスポートする最適な方法は何ですか?
VB.NETでデータセットを Excel にエクスポートする最も効率的な方法は、IronXL のWorkBookとWorkSheetクラスを使用することです。 ライブラリは最新の XLSX 形式を処理するだけでなく、従来の XLS 形式とユニバーサル CSV 形式もサポートし、他のアプリケーションとの互換性を確保します。
まず、"IronXL.Excel"を検索するか、パッケージ マネージャー コンソールでInstall-Package IronXL.Excelを実行して、Visual Studio の NuGet パッケージ マネージャー経由で IronXL をインストールします。
この例では、データを保持するためのワークブックのインスタンスを作成します。
Imports IronXL
Imports System.Data
' Create a new DataTable object with sample data
Dim dt As New DataTable("Employees")
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("Department", GetType(String))
' Add rows to the DataTable
dt.Rows.Add(1, "John Smith", "Engineering")
dt.Rows.Add(2, "Sarah Jones", "Marketing")
dt.Rows.Add(3, "Mike Wilson", "Sales")
' Create a new workbook and worksheet
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees")
' Add column headers to the first worksheet
For col As Integer = 0 To dt.Columns.Count - 1
worksheet.SetCellValue(0, col, dt.Columns(col).ColumnName)
Next
' Export data from DataTable to Excel worksheet
For row As Integer = 0 To dt.Rows.Count - 1
For col As Integer = 0 To dt.Columns.Count - 1
worksheet.SetCellValue(row + 1, col, dt.Rows(row)(col).ToString())
Next
Next
' Save the Excel file
workbook.SaveAs("EmployeeData.xlsx")Imports IronXL
Imports System.Data
' Create a new DataTable object with sample data
Dim dt As New DataTable("Employees")
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("Department", GetType(String))
' Add rows to the DataTable
dt.Rows.Add(1, "John Smith", "Engineering")
dt.Rows.Add(2, "Sarah Jones", "Marketing")
dt.Rows.Add(3, "Mike Wilson", "Sales")
' Create a new workbook and worksheet
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees")
' Add column headers to the first worksheet
For col As Integer = 0 To dt.Columns.Count - 1
worksheet.SetCellValue(0, col, dt.Columns(col).ColumnName)
Next
' Export data from DataTable to Excel worksheet
For row As Integer = 0 To dt.Rows.Count - 1
For col As Integer = 0 To dt.Columns.Count - 1
worksheet.SetCellValue(row + 1, col, dt.Rows(row)(col).ToString())
Next
Next
' Save the Excel file
workbook.SaveAs("EmployeeData.xlsx")出力
! Excel VB .NET にデータセットをエクスポートする方法: IronXL による完全ガイド: 画像 1 - VB.NET で単純なデータテーブルを Excel にエクスポートするための出力
この VB コードは、DataTable オブジェクトを作成し、それに行を入力してから、各セルを反復処理して Excel ワークシートに入力します。 Excel シート内でのデータの正確な配置を確保するために、ここではSetCellValueメソッドがデフォルトで使用されます。
DataTables を複数の Excel ワークシートにエクスポートするにはどうすればよいですか?
複数のテーブルを含む複雑なデータセット デザイナー レイアウトで作業する場合、各 DataTable を単一の Excel ブック内の独自の Excel シートにエクスポートできます。 これは、分類された情報を 1 つのファイルで必要とするユーザーにデータを提示する場合に特に便利です。
| 特徴 | 説明 |
|---|---|
| フォーマットサポート | XLSX ファイル形式、XLS、CSV のネイティブ サポート。 |
| スケーラビリティ | メモリスパイクなしで大規模なデータセットを処理します。 |
| 独立 | Excel システム要件はありません。 |
Imports IronXL
Imports System.Data
' Create a new Dataset with multiple tables
Dim ds As New DataSet("CompanyData")
' First DataTable - Products
Dim dtProducts As New DataTable("Products")
dtProducts.Columns.Add("ProductID", GetType(Integer))
dtProducts.Columns.Add("ProductName", GetType(String))
dtProducts.Columns.Add("Price", GetType(Decimal))
dtProducts.Rows.Add(101, "Widget A", 29.99D)
dtProducts.Rows.Add(102, "Widget B", 49.99D)
ds.Tables.Add(dtProducts)
' Second DataTable - Orders
Dim dtOrders As New DataTable("Orders")
dtOrders.Columns.Add("OrderID", GetType(Integer))
dtOrders.Columns.Add("Customer", GetType(String))
dtOrders.Columns.Add("Total", GetType(Decimal))
dtOrders.Rows.Add(1001, "Acme Corp", 599.90D)
dtOrders.Rows.Add(1002, "Tech Inc", 299.95D)
ds.Tables.Add(dtOrders)
' Create workbook and export each DataTable to separate sheets
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
For Each table As DataTable In ds.Tables
Dim sheet As WorkSheet = workbook.CreateWorkSheet(table.TableName)
' Write column headers
For col As Integer = 0 To table.Columns.Count - 1
sheet.SetCellValue(0, col, table.Columns(col).ColumnName)
Next
' Write data rows
For row As Integer = 0 To table.Rows.Count - 1
For col As Integer = 0 To table.Columns.Count - 1
sheet.SetCellValue(row + 1, col, table.Rows(row)(col).ToString())
Next
Next
Next
workbook.SaveAs("CompanyReport.xlsx")Imports IronXL
Imports System.Data
' Create a new Dataset with multiple tables
Dim ds As New DataSet("CompanyData")
' First DataTable - Products
Dim dtProducts As New DataTable("Products")
dtProducts.Columns.Add("ProductID", GetType(Integer))
dtProducts.Columns.Add("ProductName", GetType(String))
dtProducts.Columns.Add("Price", GetType(Decimal))
dtProducts.Rows.Add(101, "Widget A", 29.99D)
dtProducts.Rows.Add(102, "Widget B", 49.99D)
ds.Tables.Add(dtProducts)
' Second DataTable - Orders
Dim dtOrders As New DataTable("Orders")
dtOrders.Columns.Add("OrderID", GetType(Integer))
dtOrders.Columns.Add("Customer", GetType(String))
dtOrders.Columns.Add("Total", GetType(Decimal))
dtOrders.Rows.Add(1001, "Acme Corp", 599.90D)
dtOrders.Rows.Add(1002, "Tech Inc", 299.95D)
ds.Tables.Add(dtOrders)
' Create workbook and export each DataTable to separate sheets
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
For Each table As DataTable In ds.Tables
Dim sheet As WorkSheet = workbook.CreateWorkSheet(table.TableName)
' Write column headers
For col As Integer = 0 To table.Columns.Count - 1
sheet.SetCellValue(0, col, table.Columns(col).ColumnName)
Next
' Write data rows
For row As Integer = 0 To table.Rows.Count - 1
For col As Integer = 0 To table.Columns.Count - 1
sheet.SetCellValue(row + 1, col, table.Rows(row)(col).ToString())
Next
Next
Next
workbook.SaveAs("CompanyReport.xlsx")出力
! Excel VB .NETにデータセットをエクスポートする方法: IronXLによる完全ガイド: 画像2 - エクスポートされたデータセットが個別のワークシートとして生成されたExcelファイル
コードはデータセット内の各テーブルをループし、対応するワークシートを作成し、すべての列ヘッダーとデータを転送します。
データベースクエリの結果はどのようにして Excel ファイルにエクスポートされますか?
データベース データ ソースに接続し、結果を新しい Excel ファイルに直接エクスポートすることは、一般的な要件です。 IronXL でSqlDataAdapterを使用すると、SQL システムからスプレッドシートへのシームレスなパイプラインが作成されます。
1.接続の初期化:接続文字列を設定します。 2.データセットの入力:アダプターを使用して、データセット デザイナーにデータを取り込みます。
- IronXL にマップする:ワークブック インスタンスを作成し、結果を反復処理して必要に応じて Excel ファイルを操作します。
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient
' Define connection string and SQL query
Dim connectionString As String = "Server=localhost;Database=SalesDB;Integrated Security=True"
Dim query As String = "SELECT CustomerID, CompanyName, ContactName, Country FROM Customers"
' Create Dataset and fill from database
Dim ds As New DataSet()
Using connection As New SqlConnection(connectionString)
Dim adapter As New SqlDataAdapter(query, connection)
adapter.Fill(ds, "Customers")
End Using
' Access the DataTable exported from the database
Dim dt As DataTable = ds.Tables("Customers")
' Create Excel file and export the DataTable
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("CustomerData")
' Write column headers with formatting
For col As Integer = 0 To dt.Columns.Count - 1
worksheet.SetCellValue(0, col, dt.Columns(col).ColumnName)
worksheet.Rows(0).Style.Font.Bold = True
Next
' Execute data transfer to worksheet cells
For row As Integer = 0 To dt.Rows.Count - 1
For col As Integer = 0 To dt.Columns.Count - 1
Dim cellValue As Object = dt.Rows(row)(col)
worksheet.SetCellValue(row + 1, col, If(cellValue Is DBNull.Value, "", cellValue.ToString()))
Next
Next
' Save output file
workbook.SaveAs("CustomerExport.xlsx")
Console.WriteLine("Export complete!")Imports IronXL
Imports System.Data
Imports System.Data.SqlClient
' Define connection string and SQL query
Dim connectionString As String = "Server=localhost;Database=SalesDB;Integrated Security=True"
Dim query As String = "SELECT CustomerID, CompanyName, ContactName, Country FROM Customers"
' Create Dataset and fill from database
Dim ds As New DataSet()
Using connection As New SqlConnection(connectionString)
Dim adapter As New SqlDataAdapter(query, connection)
adapter.Fill(ds, "Customers")
End Using
' Access the DataTable exported from the database
Dim dt As DataTable = ds.Tables("Customers")
' Create Excel file and export the DataTable
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("CustomerData")
' Write column headers with formatting
For col As Integer = 0 To dt.Columns.Count - 1
worksheet.SetCellValue(0, col, dt.Columns(col).ColumnName)
worksheet.Rows(0).Style.Font.Bold = True
Next
' Execute data transfer to worksheet cells
For row As Integer = 0 To dt.Rows.Count - 1
For col As Integer = 0 To dt.Columns.Count - 1
Dim cellValue As Object = dt.Rows(row)(col)
worksheet.SetCellValue(row + 1, col, If(cellValue Is DBNull.Value, "", cellValue.ToString()))
Next
Next
' Save output file
workbook.SaveAs("CustomerExport.xlsx")
Console.WriteLine("Export complete!")SqlDataAdapterコマンドを実行し、SQL データベースからデータを取得して、データセットの Tables コレクションに保存します。 コードは、クエリからエクスポートされた DataTable を反復処理し、条件チェックを使用して null 値を処理します。 列ヘッダーの太字フォントスタイルにより、読みやすさが向上します。
XML データ ソースの場合、IronXL は XML ベースのスプレッドシート形式の読み取りと書き込みもサポートしており、さまざまなデータ交換シナリオに柔軟に対応できます。
結論
IronXL のクリーンな API を使用すると、VB.NET でデータセットを Excel にエクスポートするタスクが簡単になります。 単一の DataTable オブジェクトを操作する場合でも、複数のテーブルを操作する場合でも、ライブラリは .NET Framework および .NET Core プロジェクト間でのファイル形式の変換とワークシート管理を処理します。
これらの例では、Microsoft Office Interop に依存せずに、メモリ内データ構造とデータベースクエリから Excel ファイルを作成する方法を示します。IronXL のアプローチは、COM への依存を排除しながら、フォントスタイルとマルチシートのサポートを提供します。
VB.NET アプリケーションでデータセットから Excel へのエクスポートを実装する準備はできていますか? ライセンスを購入するか、追加のDataTable チュートリアルを参照して、Excel の自動化機能を拡張してください。
よくある質問
VB.NET でデータセットを Excel にエクスポートするにはどうすればよいですか?
IronXL ライブラリを使用すると、VB.NET でデータセットを Excel にエクスポートできます。このライブラリは、Microsoft Office を必要とせずに Excel ファイルを作成、編集、操作するための直感的な API を提供します。
IronXLを使用するためにMicrosoft Officeをインストールする必要がありますか?
いいえ、IronXL では、Excel ファイルをエクスポートまたは操作するために、ユーザーのマシンに Microsoft Office がインストールされている必要はありません。
IronXL を使用してエクスポートできるデータの種類は何ですか?
IronXL を使用すると、DataTables や Datasets などの構造化データを Excel ファイルに効率的にエクスポートできます。
IronXL は Excel ファイルの作成と編集を処理できますか?
はい、IronXL は、VB.NET でプログラムによって Excel ファイルを作成、編集、操作する機能を提供します。
IronXL はデスクトップ アプリケーションに適していますか?
はい、IronXL はデスクトップ アプリケーション、特に DataGrid またはシステム データベースを利用してデータを Excel にエクスポートするアプリケーションに最適です。
データセットのエクスポートに IronXL を使用する利点は何ですか?
IronXL は、Microsoft Office などの外部依存なしに Excel ファイルの作成と操作を処理する API を提供することで、データセットのエクスポート プロセスを合理化します。
IronXL はサーバー環境で使用できますか?
はい、IronXL は、Excel ファイルの生成とデータのエクスポート タスクを自動化するためにサーバー環境に展開できます。
IronXL は大規模なデータセットをサポートしていますか?
IronXL は、Excel にエクスポートするときに大規模なデータセットを効率的に処理し、パフォーマンスと信頼性を確保するように設計されています。
IronXL を使用して既存の Excel ファイルを操作することは可能ですか?
はい、IronXL を使用すると、既存の Excel ファイルを開いて操作することができ、データの編集や書式設定などの機能が提供されます。
IronXL で使用されるプログラミング言語は何ですか?
IronXL は VB.NET をサポートしており、開発者は Excel の機能を VB.NET アプリケーションにシームレスに統合できます。








