IRONXLの使用 VB.NETで簡単にExcelファイルに書き込む方法 Jacob Mellor 更新日:7月 28, 2025 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる ジェミニで開く このページについてGeminiに問い合わせる 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る 従来、Office Interopを使用することがMicrosoft Excelのタスクを自動化するための事実上の選択肢とされていましたが、これには重大な欠点があります。パフォーマンスの問題やサーバー側の複雑さ、そしてMicrosoft Excelがマシンにインストールされている必要があるという条件です。 このガイドでは、VB.NETでExcelファイルを作成し書き込む方法についての現代的でより効率的なアプローチを示します。 私たちはIronXL for .NETを使用します。これは、開発者がOffice Interopに頼ることなく、Excelスプレッドシートを作成、読み取り、編集するのを助けるために特別に構築されたライブラリです。新しいファイルの作成、コレクションからのデータの書き込み、およびわずかな直感的なコード行で既存のドキュメントを変更する方法を見ていきます。 VB.NETでExcelを自動化するにはどうすればよいですか? VB.NETプロジェクトでExcelファイルに書き込みを開始するには、まずIronXLライブラリを追加する必要があります。 このプロセスは簡単で、Visual Studio内で直接行うことができます。 まず、開発環境が準備されていることを確認してください: Visual Studio 2022 以上。 .NET Framework 4.6.2以上または.NET Core/.NET 5+を対象としたアクティブプロジェクト。 IronXLはすべての最新.NETバージョンと互換性があります。.NET 9および10も含まれます。 次に、IronXL NuGetパッケージをインストールします: Visual StudioのNuGetパッケージマネージャーを開きます。 パッケージ IronXL.Excelを検索します。 "インストール"をクリックします。 代わりに、次のコマンドを使用してPackage Manager Consoleからインストールすることもできます: Install-Package IronXL.Excel VB.NET Excel統合のために正しいパッケージを見つけるために、Visual StudioのメニューでNuGetパッケージマネージャーに移動しています。 インストールが完了したら、コードを書き始める準備が整いました。 VB.NETファイルの先頭にImports IronXLを追加するだけで、ライブラリのクラスをスコープに取り込みます。 新しいExcelファイルを作成してデータを書き込むにはどうすればいいですか? 新しいExcelファイルを作成し、データを書き込むにはどうすればよいですか? 新しいExcelファイルをゼロから作成することは基本的な作業です。 これは、アプリケーションデータのエクスポートや日報の生成などのタスクに最適です。 実際の例を見てみましょう。 実用的な例を見てみましょう。 私たちには、Excelスプレッドシートにエクスポートしたい製品データのリストがあると想像してください。 次のコードは、List(Of Product)を取得して、その内容を新しく作成されたExcelファイルに書き込む方法を示します。 次のコードは、List(Of Product)を取得し、その内容を新しく作成したExcelファイルに書き込む方法を示しています。 Imports IronXL Imports System.Collections.Generic Imports System.Linq Public Class Product Public Property ID As Integer Public Property Name As String Public Property Price As Decimal End Class Module Program Sub Main(args As String()) ' 1. Prepare a list of data to write to Excel. Dim products As New List(Of Product) From { New Product With {.ID = 1, .Name = "Laptop", .Price = 1200.50D}, New Product With {.ID = 2, .Name = "Keyboard", .Price = 75.00D}, New Product With {.ID = 3, .Name = "Mouse", .Price = 25.99D} } ' 2. Create a new Excel workbook and select the default worksheet. Dim workbook As WorkBook = WorkBook.Create() Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' 3. Write headers for our data. sheet("A1").Value = "Product ID" sheet("B1").Value = "Product Name" sheet("C1").Value = "Price" ' Style the header row. Dim headerRange = sheet.GetRange("A1:C1") headerRange.Style.Font.Bold = True headerRange.Style.SetBackgroundColor("#D3D3D3") ' Light Gray ' 4. Iterate through the product list and write data to subsequent rows. For i As Integer = 0 To products.Count - 1 Dim product = products(i) Dim row = i + 2 ' Start from the second row sheet("A" & row).Value = product.ID sheet("B" & row).Value = product.Name sheet("C" & row).Value = product.Price Next ' 5. Apply currency formatting to the price column. Dim priceColumn = sheet.GetRange("C2:C" & products.Count + 1) priceColumn.Style.Format = "$#,##0.00" ' 6. Auto-size columns for better readability. sheet.Columns.AutoFit() ' 7. Save the newly created and populated workbook to a file. workbook.SaveAs("ProductReport.xlsx") End Sub End Module Imports IronXL Imports System.Collections.Generic Imports System.Linq Public Class Product Public Property ID As Integer Public Property Name As String Public Property Price As Decimal End Class Module Program Sub Main(args As String()) ' 1. Prepare a list of data to write to Excel. Dim products As New List(Of Product) From { New Product With {.ID = 1, .Name = "Laptop", .Price = 1200.50D}, New Product With {.ID = 2, .Name = "Keyboard", .Price = 75.00D}, New Product With {.ID = 3, .Name = "Mouse", .Price = 25.99D} } ' 2. Create a new Excel workbook and select the default worksheet. Dim workbook As WorkBook = WorkBook.Create() Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' 3. Write headers for our data. sheet("A1").Value = "Product ID" sheet("B1").Value = "Product Name" sheet("C1").Value = "Price" ' Style the header row. Dim headerRange = sheet.GetRange("A1:C1") headerRange.Style.Font.Bold = True headerRange.Style.SetBackgroundColor("#D3D3D3") ' Light Gray ' 4. Iterate through the product list and write data to subsequent rows. For i As Integer = 0 To products.Count - 1 Dim product = products(i) Dim row = i + 2 ' Start from the second row sheet("A" & row).Value = product.ID sheet("B" & row).Value = product.Name sheet("C" & row).Value = product.Price Next ' 5. Apply currency formatting to the price column. Dim priceColumn = sheet.GetRange("C2:C" & products.Count + 1) priceColumn.Style.Format = "$#,##0.00" ' 6. Auto-size columns for better readability. sheet.Columns.AutoFit() ' 7. Save the newly created and populated workbook to a file. workbook.SaveAs("ProductReport.xlsx") End Sub End Module VB .NET 動作の仕組み データの準備:まず、エクスポートしたいデータを表す単純なProductクラスとList(Of Product)を用意します。 データ準備: シンプルなProductクラスと、エクスポートしたいデータを表すList(Of Product)から始めます。 23. これは、データベースまたは他のビジネスロジック層からデータを取得するシミュレーションです。 ワークブックとワークシートの作成: WorkBook.Create()は、新しい空のExcelワークブックをメモリに生成します。 25. 新しいワークブックには自動的に1つのワークシートが含まれており、DefaultWorkSheetプロパティを通じてアクセスできます。 より複雑なドキュメントの場合は、CreateWorkSheetメソッドを使用して追加のワークシートを作成できます。 データの書き込み: A1スタイルの表記法を使用してセルにアクセスします(例:sheet("A1"))。 .Valueプロパティは、セルの内容を設定および取得するために使用されます。 28. IronXLは、数値、文字列、日付のデータ型変換を自動的に処理します。 スタイリングおよびフォーマット: IronXLは包括的なスタイリングAPIを提供します。 Style.Formatプロパティを使って価格列に通貨形式を適用することもできます。これは、プロフェッショナルなレポートを作成するために不可欠な機能です。 スタイリングオプションの詳細については、StyleオブジェクトのAPIドキュメントをご覧ください。 5. ファイルの保存:最後に、workbook.SaveAs("ProductReport.xlsx")でメモリ内のワークブックをファイルシステムに書き込みます。 ファイルの保存: 最後に、workbook.SaveAs("ProductReport.xlsx")がメモリ内のワークブックをファイルシステムに書き込みます。 IronXLは、.xlsx、.xls、.csv、および.tsvなど、さまざまなフォーマットをサポートしており、データのエクスポート方法に柔軟性を持たせます。 既存のExcelファイルにデータを書き込むにはどうすればよいですか? これは、ログの記録やデータセットへのレコードの追加、またはレポートの更新によくあります。 これは、ログ記録、データセットへのレコードの追加、またはレポートの更新によく見られます。 次の例では、既存のスプレッドシートを開いて、最後に使用された行を見つけ、新しいデータを追加する方法を示します。 以下の例は、既存のスプレッドシートを開き、最後に使用された行を見つけ、新しいデータを追加する方法を示しています。 Imports IronXL Imports System.Collections.Generic Imports System.Linq ' (Assuming the Product class from the previous example is available) Module Program Sub Main(args As String()) ' Ensure the file from our previous example exists. If Not System.IO.File.Exists("ProductReport.xlsx") Then Console.WriteLine("Please run the first example to create ProductReport.xlsx") Return End If ' 1. Load the existing workbook from the file system. Dim workbook As WorkBook = WorkBook.Load("ProductReport.xlsx") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' 2. Find the first empty row to append new data. ' The LastRowUsed property gives us the last row with data. Dim lastRow = sheet.Info.LastRowUsed Dim newRowIndex = lastRow.RowNumber + 1 ' 3. Define the new data to be added. Dim newProducts As New List(Of Product) From { New Product With {.ID = 4, .Name = "Monitor", .Price = 350.00D}, New Product With {.ID = 5, .Name = "Webcam", .Price = 99.99D} } ' 4. Loop through the new data and write it to the worksheet. For i As Integer = 0 To newProducts.Count - 1 Dim product = newProducts(i) Dim currentRow = newRowIndex + i sheet("A" & currentRow).Value = product.ID sheet("B" & currentRow).Value = product.Name sheet("C" & currentRow).Value = product.Price Next ' 5. Re-apply formatting and auto-fit columns to include new data. Dim priceColumn = sheet.GetRange("C2:C" & sheet.Info.LastRowUsed.RowNumber) priceColumn.Style.Format = "$#,##0.00" sheet.Columns.AutoFit() ' 6. Save the changes back to the original file. workbook.Save() ' Or save as a new file to preserve the original. ' workbook.SaveAs("ProductReport_Updated.xlsx") End Sub End Module Imports IronXL Imports System.Collections.Generic Imports System.Linq ' (Assuming the Product class from the previous example is available) Module Program Sub Main(args As String()) ' Ensure the file from our previous example exists. If Not System.IO.File.Exists("ProductReport.xlsx") Then Console.WriteLine("Please run the first example to create ProductReport.xlsx") Return End If ' 1. Load the existing workbook from the file system. Dim workbook As WorkBook = WorkBook.Load("ProductReport.xlsx") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' 2. Find the first empty row to append new data. ' The LastRowUsed property gives us the last row with data. Dim lastRow = sheet.Info.LastRowUsed Dim newRowIndex = lastRow.RowNumber + 1 ' 3. Define the new data to be added. Dim newProducts As New List(Of Product) From { New Product With {.ID = 4, .Name = "Monitor", .Price = 350.00D}, New Product With {.ID = 5, .Name = "Webcam", .Price = 99.99D} } ' 4. Loop through the new data and write it to the worksheet. For i As Integer = 0 To newProducts.Count - 1 Dim product = newProducts(i) Dim currentRow = newRowIndex + i sheet("A" & currentRow).Value = product.ID sheet("B" & currentRow).Value = product.Name sheet("C" & currentRow).Value = product.Price Next ' 5. Re-apply formatting and auto-fit columns to include new data. Dim priceColumn = sheet.GetRange("C2:C" & sheet.Info.LastRowUsed.RowNumber) priceColumn.Style.Format = "$#,##0.00" sheet.Columns.AutoFit() ' 6. Save the changes back to the original file. workbook.Save() ' Or save as a new file to preserve the original. ' workbook.SaveAs("ProductReport_Updated.xlsx") End Sub End Module VB .NET 詳細な説明 ワークブックの読み込み:WorkBook.Create()の代わりに、WorkBook.Load("ProductReport.xlsx")を使用します。 これにより、指定されたファイルが開かれ、その内容が操作可能なWorkBookオブジェクトにパースされます。 これにより、指定されたファイルが開かれ、その内容が操作の準備が整ったWorkBookオブジェクトに解析されます。 IronXLはsheet.Info.LastRowUsedプロパティを提供し、データを含む最後のRowオブジェクトを返します。 IronXLはこれを、データを含む最後のRowオブジェクトを返すsheet.Info.LastRowUsedプロパティを使って簡素化します。 私たちは単にその行番号を取得し、1を加えて最初の空行を見つけます。 データの追加: 新しいデータの書き込みプロセスは、前の例と同じです。 新しいProductリストを繰り返し処理し、特定された空の行にセルを填充します。 変更の保存: workbook.Save()メソッドは、メモリ内の修正されたワークブックで元のファイルを上書きします。 元のファイルを保持する必要がある場合は、新しいファイル名でSaveAs()を使用してください。コメントアウトされた行に示されています。 SQL Serverなどのデータソースからのデータを扱う開発者にとって、DataTableの内容を直接Excelシートに書き込むことは一般的なタスクです。 SQL Serverのようなソースからデータを扱う開発者にとって、一般的な作業はDataTableの内容をExcelシートに直接書き込むことです。 IronXLは、行や列を手動でループさせる必要を排除する組み込みメソッドでこれを効率化します。 この例では、DataTableを填充し、それを新しいExcelファイルに一度でエクスポートする方法を示しています。 Imports IronXL Imports System.Data Module Program Sub Main(args As String()) ' 1. Create and populate a DataTable. This often comes from a database query. Dim dt As New DataTable("EmployeeData") dt.Columns.Add("EmployeeID", GetType(Integer)) dt.Columns.Add("FullName", GetType(String)) dt.Columns.Add("Department", GetType(String)) dt.Columns.Add("HireDate", GetType(Date)) dt.Rows.Add(101, "John Smith", "Sales", New Date(2022, 5, 20)) dt.Rows.Add(102, "Jane Doe", "Engineering", New Date(2021, 8, 15)) dt.Rows.Add(103, "Peter Jones", "Marketing", New Date(2023, 1, 10)) ' 2. Create a new workbook. Dim workbook As WorkBook = WorkBook.Create() Dim sheet As WorkSheet = workbook.CreateWorkSheet("Employees") ' 3. Write the DataTable to the worksheet starting at cell A1. ' The second parameter (True) indicates that column headers should be included. sheet.Write(dt, "A1", True) ' 4. Apply some styling for a more polished look. sheet.Columns.AutoFit() Dim headerRange = sheet.GetRange("A1:D1") headerRange.Style.Font.Bold = True headerRange.Style.SetBackgroundColor("#C5D9F1") ' Light Blue Dim dateColumn = sheet.GetRange("D2:D" & dt.Rows.Count + 1) dateColumn.Style.Format = "yyyy-mm-dd" ' 5. Save the workbook. workbook.SaveAs("EmployeeDatabaseExport.xlsx") End Sub End Module Imports IronXL Imports System.Data Module Program Sub Main(args As String()) ' 1. Create and populate a DataTable. This often comes from a database query. Dim dt As New DataTable("EmployeeData") dt.Columns.Add("EmployeeID", GetType(Integer)) dt.Columns.Add("FullName", GetType(String)) dt.Columns.Add("Department", GetType(String)) dt.Columns.Add("HireDate", GetType(Date)) dt.Rows.Add(101, "John Smith", "Sales", New Date(2022, 5, 20)) dt.Rows.Add(102, "Jane Doe", "Engineering", New Date(2021, 8, 15)) dt.Rows.Add(103, "Peter Jones", "Marketing", New Date(2023, 1, 10)) ' 2. Create a new workbook. Dim workbook As WorkBook = WorkBook.Create() Dim sheet As WorkSheet = workbook.CreateWorkSheet("Employees") ' 3. Write the DataTable to the worksheet starting at cell A1. ' The second parameter (True) indicates that column headers should be included. sheet.Write(dt, "A1", True) ' 4. Apply some styling for a more polished look. sheet.Columns.AutoFit() Dim headerRange = sheet.GetRange("A1:D1") headerRange.Style.Font.Bold = True headerRange.Style.SetBackgroundColor("#C5D9F1") ' Light Blue Dim dateColumn = sheet.GetRange("D2:D" & dt.Rows.Count + 1) dateColumn.Style.Format = "yyyy-mm-dd" ' 5. Save the workbook. workbook.SaveAs("EmployeeDatabaseExport.xlsx") End Sub End Module VB .NET これにより、DataTableの構造が賢くワークシートにマッピングされ、指定された場合はカラムヘッダーも含まれます。 指定された場合、列ヘッダーを含むDataTable構造をワークシートにインテリジェントにマッピングします。 これはデータ駆動型アプリケーションにとって強力な機能であり、手動反復に比べて大幅な時間節約になります。 データのインポートとエクスポートの詳細については、異なるスプレッドシート形式の変換に関するチュートリアルをご覧ください。 Excelファイルに書き込むときに他に何ができますか? データの書き込みは始まりに過ぎません。 IronXLは、包括的な機能を提供しています。以下その一例です: IronXLは、以下の包括的な機能を提供します。 数式: プログラムによって数式を設定し計算します。 - チャート:情報を視覚化するためにワークシートのデータからさまざまなタイプのチャートを生成します。 グラフ: ワークシートデータから情報を可視化するためのさまざまな種類のグラフを作成します。 条件付き書式:値に基づいてセルにスタイリングを適用し、重要なデータポイントを強調します。 セキュリティと保護:ワークシートやワークブック全体をパスワードで保護してアクセスを制御し、変更を防ぎます。 セキュリティと保護: パスワードでワークシートまたはワークブック全体を保護して、アクセスを制御し、変更を防ぎます。 VB.NETでのExcelファイルへの書き込みを今すぐ始めましょう 今日からVB.NETでExcelファイルの書き込みを開始しましょう Office Interopの複雑さと依存関係を避けることで、より信頼性が高く、パフォーマンスが優れ、展開しやすいアプリケーションを構築できます。 Excelファイルをゼロから作成する、既存のレポートにデータを追加する、またはDataTableをエクスポートする必要がある場合、IronXLは効率的に仕事を完了するための直感的で強力なAPIを提供します。 IronXLをダウンロードして、プロジェクトにどれだけ簡単に統合できるか確認するために無料トライアルライセンスを試してみてください。 今日あなたのプロジェクトでIronXLを無料トライアルで使用開始。 最初のステップ: 無料で始める より広範なニーズを持つ方には、IronXLがIron Suite for .NETにも含まれていることを思い出してください。 より広範なニーズを持つ方々のために、IronXLはIron Suite for .NETの一部であることを忘れないでください。 1 つのライセンスで、PDF、バーコード、OCR などを処理するための包括的なライブラリ セットにアクセスできるようになり、あらゆる .NET 開発者に優れた価値を提供します。 よくある質問 VB.NET で Office インターロップを使用せずに Excel ファイルに書き込むにはどうすればよいですか? Office インターロップを必要とせずに、IronXL ライブラリを使用して VB.NET で Excel ファイルに書き込むことができます。IronXL を使用すると、Microsoft Excel をインストールしなくても、Excel ファイルをシームレスに作成、読み取り、および操作できます。 Excel 自動化のために Office インターロップよりも IronXL を使用することの利点は何ですか? IronXL は Office インターロップよりも大幅な利点を提供します。例としては、パフォーマンスの向上、簡単なデプロイ、および Microsoft Excel をインストールすることなくサーバー上で実行する機能などがあります。.NET アプリケーションの Excel 自動化タスクを簡素化します。 VB.NET プロジェクトで Excel ファイルを操作するために IronXL をインストールする方法は? Visual Studio 内の NuGet パッケージ マネージャーを使用して、VB.NET プロジェクトに IronXL をインストールします。IronXL.Excel を検索してインストールします。あるいは、パッケージ マネージャー コンソールで次のコマンドを使用します: Install-Package IronXL.Excel。 VB.NET で新しい Excel ファイルを作成してデータを挿入する方法は? IronXL を使用して、新しい Excel ファイルを WorkBook.Create() を呼び出して作成できます。ワークシートにアクセスし、sheet("A1").Value = "Example Data" のように A1 形式を使用してデータを挿入します。SaveAs() メソッドを使用してファイルを保存します。 IronXL を使用して既存の Excel ファイルにデータを追加することは可能ですか? IronXL を使用して既存の Excel ファイルにデータを追加するには、WorkBook.Load("filename.xlsx") でブックを読み込みます。sheet.Info.LastRowUsed を使用して次の空行を決定し、新しいデータを挿入します。workbook.Save() を使用して変更を保存します。 VB.NET で Excel シートに DataTable をエクスポートすることは可能ですか? はい、IronXL は DataTable を Excel シートにエクスポートするのを簡素化します。sheet.Write() メソッドを使用して、ワークシートに効率的にテーブル全体を転送します。 IronXL で取り扱うことのできる Excel ファイル形式は何ですか? IronXL は .xlsx、.xls、.csv、.tsv を含む複数の Excel ファイル形式をサポートしており、さまざまな種類のスプレッドシートデータを柔軟に扱うことができます。 IronXL を使用して Excel セルをフォーマットし、数式を使用することはできますか? はい、IronXL は豊富なフォーマットと数式のサポートを提供しています。フォント、色、境界、数字の形式をプログラムで調整し、"=SUM(A1:A10)" のような Excel 数式を設定して計算を行うことができます。 Jacob Mellor 今すぐエンジニアリングチームとチャット 最高技術責任者(CTO) Jacob Mellorは、Iron Softwareの最高技術責任者であり、C# PDF技術の開拓者としてその先進的な役割を担っています。Iron Softwareのコアコードベースのオリジナルデベロッパーである彼は、創業時から製品のアーキテクチャを形作り、CEOのCameron Rimingtonと協力してNASA、Tesla、全世界の政府機関を含む50人以上の会社に成長させました。Jacobは、1998年から2001年にかけてマンチェスター大学で土木工学の第一級優等学士号(BEng)を取得しました。1999年にロンドンで最初のソフトウェアビジネスを立ち上げ、2005年には最初の.NETコンポーネントを作成し、Microsoftエコシステムにおける複雑な問題の解決を専門にしました。彼の旗艦製品であるIronPDFとIronSuite .NETライブラリは、全世界で3000万以上のNuGetインストールを達成しており、彼の基本コードが世界中で使用されている開発者ツールを支えています。商業的な経験を25年間積み、コードを書くことを41年間続けるJacobは、企業向けのC#、Java、およびPython PDF技術の革新を推進し続け、次世代の技術リーダーを指導しています。 関連する記事 公開日 12月 19, 2025 C#を使用してExcelでピボット・テーブルを作成する方法 Interop vs IronXL Office依存性なしでC#でExcelピボットテーブルを構築します。IronXLは、Excel Interopの複雑さなしでピボットスタイルのレポートを作成するための強力なデータ操作を提供します。 詳しく読む 公開日 12月 18, 2025 C# IronXLを使用した列ヘッダー付きDataGridViewのExcelへのエクスポート IronXLライブラリを使用したステップバイステップのC#チュートリアルで、列ヘッダーを保持しながらDataGridViewデータをExcelにエクスポートする方法を学びましょう。 詳しく読む 公開日 12月 18, 2025 IronXLを使用してC#でExcelレポートを作成する方法 C#でIronXLを用いてExcelレポート生成を行います。プロフェッショナルなレポートを作成する方法を学びます。 詳しく読む C#でデータセットをCSVに変換する方法初学者向けガイド:Excelで...
公開日 12月 19, 2025 C#を使用してExcelでピボット・テーブルを作成する方法 Interop vs IronXL Office依存性なしでC#でExcelピボットテーブルを構築します。IronXLは、Excel Interopの複雑さなしでピボットスタイルのレポートを作成するための強力なデータ操作を提供します。 詳しく読む
公開日 12月 18, 2025 C# IronXLを使用した列ヘッダー付きDataGridViewのExcelへのエクスポート IronXLライブラリを使用したステップバイステップのC#チュートリアルで、列ヘッダーを保持しながらDataGridViewデータをExcelにエクスポートする方法を学びましょう。 詳しく読む
公開日 12月 18, 2025 IronXLを使用してC#でExcelレポートを作成する方法 C#でIronXLを用いてExcelレポート生成を行います。プロフェッショナルなレポートを作成する方法を学びます。 詳しく読む