フッターコンテンツにスキップ
IRONXLの使用

VB.NETで簡単にExcelファイルに書き込む方法

従来、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パッケージをインストールします:

  1. Visual StudioのNuGetパッケージマネージャーを開きます。
  2. パッケージ IronXL.Excel を検索します。
  3. "インストール"をクリックします。

代わりに、次のコマンドを使用してPackage Manager Consoleからインストールすることもできます:

Install-Package IronXL.Excel

 NuGetパッケージ マネージャーに移動します VB.NET Excel統合のために正しいパッケージを見つけるために、Visual StudioのメニューでNuGetパッケージマネージャーに移動しています。

インストールが完了したら、コードを書き始める準備が整いました。 ライブラリのクラスをスコープ内に取り込むには、VB .NETファイルの先頭に Imports IronXL を追加するだけです。

 NuGetパッケージ マネージャー UI でIronXLパッケージを検索

新しいExcelファイルを作成してデータを書き込むにはどうすればいいですか?

新しいExcelファイルを作成し、データを書き込むにはどうすればよいですか?

  1. 新しいExcelファイルをゼロから作成することは基本的な作業です。 これは、アプリケーションデータのエクスポートや日報の生成などのタスクに最適です。 実際の例を見てみましょう。

  2. 実用的な例を見てみましょう。 私たちには、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

動作の仕組み

  1. データの準備:まず、エクスポートしたいデータを表す単純なProductクラスとList(Of Product)を用意します。

1.データ準備:シンプルなクラス Product と、エクスポートしたいデータを表す List(Of Product) から始めます。 23. これは、データベースまたは他のビジネスロジック層からデータを取得するシミュレーションです。 2.ワークブックとワークシートの作成: WorkBook.Create() は、メモリ上に新しい空の Excel ワークブックを生成します。 新しいワークブックには自動的に 1 つのワークシートが含まれており、DefaultWorkSheet プロパティを介してアクセスできます。 より複雑なドキュメントの場合は、CreateWorkSheet メソッドを使用してワークシートを追加できます。 3.データの書き込み:セルには、おなじみの A1 スタイルの表記 (例: sheet("A1")) を使用してアクセスします。 .Value プロパティは、セルの内容を設定および取得するために使用されます。 28. IronXLは、数値、文字列、日付のデータ型変換を自動的に処理します。 4.スタイル設定とフォーマット: IronXLは包括的なスタイル設定APIを提供します。 この例では、セルを Range 選択し、ヘッダーに太字の書式と背景色を適用します。 また、Style.Format プロパティを使用して価格列に通貨形式を適用します。これは、Professionalレポートを作成する上で不可欠な機能です。 5. ファイルの保存:最後に、workbook.SaveAs("ProductReport.xlsx")でメモリ内のワークブックをファイルシステムに書き込みます。 5.ファイルの保存:最後に、workbook.SaveAs("ProductReport.xlsx") はメモリ内のワークブックをファイルシステムに書き込みます。 IronXLは、.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

詳細な説明

  1. ワークブックの読み込みWorkBook.Create()の代わりに、WorkBook.Load("ProductReport.xlsx")を使用します。

1.ワークブックの読み込み: WorkBook.Create() の代わりに、WorkBook.Load("ProductReport.xlsx") を使用します。 これは指定されたファイルを開き、その内容を解析して操作可能な WorkBook オブジェクトにします。 2.挿入ポイントの特定:データを追加する際の重要な課題は、書き込みを開始する場所を見つけることです。 IronXL は、データを含む最後の Row オブジェクトを返す sheet.Info.LastRowUsed プロパティを使用してこれを簡素化します。 私たちは単にその行番号を取得し、1を加えて最初の空行を見つけます。 3.データの追加:新しいデータを書き込むプロセスは、前の例と同じです。 新しい Product リストを反復処理し、新たに特定された空の行のセルにデータを入力します。 4.変更の保存: workbook.Save() メソッドは、メモリからの変更されたワークブックで元のファイルを上書きします。 元のファイルを保存する必要がある場合は、コメントアウトされた行に示されているように、新しいファイル名で SaveAs() を使用するだけです。

Excelワークシートに"DataTable"を書き込むにはどうすればよいですか?

SQL Server などのソースからのデータを扱う開発者にとって、一般的なタスクは、DataTable の内容を Excel シートに直接書き込むことです。 IronXLは、行や列を手動でループさせる必要を排除する組み込みメソッドでこれを効率化します。

この例では、DataTable にデータを入力し、それを新しい Excel ファイルにエクスポートする方法を 1 つの手順で示します。

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

sheet.Write() メソッドはこの目的に非常に効率的です。 指定された場合は列ヘッダーを含め、DataTable 構造をワークシートにインテリジェントにマッピングします。 これはデータ駆動型アプリケーションにとって強力な機能であり、手動反復に比べて大幅な時間節約になります。 データのインポートとエクスポートの詳細については、異なるスプレッドシート形式の変換に関するチュートリアルをご覧ください。

Excelファイルに書き込むときに他に何ができますか?

データの書き込みは始まりに過ぎません。 IronXLは、包括的な機能を提供しています。以下その一例です: IronXLは、以下の包括的な機能を提供します。

-数式:プログラムによって数式を設定および計算します。 セルの Value (例: sheet("C1").Value = "=SUM(A1:B1)") に数式を割り当てると、 IronXL が結果を計算します。 -グラフ:ワークシートのデータからさまざまな種類のグラフを作成し、情報を視覚化します。 -データ検証:セルに対してルールを適用します。例えば、特定の範囲内の数値のみを許可したり、ドロップダウンリストからの値のみを許可したりすることができます。 -条件付き書式設定:セルの値に基づいてスタイルを適用し、重要なデータポイントを強調表示します。 -セキュリティと保護:ワークシートまたはワークブック全体をパスワードで保護し、アクセスを制御して変更を防止します。

VB.NETでのExcelファイルへの書き込みを今すぐ始めましょう

今日からVB.NETでExcelファイルの書き込みを開始しましょう

Office Interopの複雑さと依存関係を避けることで、より信頼性が高く、パフォーマンスが優れ、展開しやすいアプリケーションを構築できます。 Excelファイルをゼロから作成する、既存のレポートにデータを追加する、またはDataTableをエクスポートする必要がある場合、IronXLは効率的に仕事を完了するための直感的で強力なAPIを提供します。 Excel ファイルをゼロから作成する必要がある場合でも、既存のレポートにデータを追加する必要がある場合でも、DataTable をエクスポートする必要がある場合でも、 IronXL は効率的に作業を完了するための直感的で強力な API を提供します。

より広範なニーズを持つ方には、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、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

彼の主要なIronPDFとIron Suite .NETライブラリは、世界中で3000万以上のNuGetインストールを達成し、彼の基礎となるコードは世界中で使用されている開発者ツールに力を与え続けています。25年の商業経験と41年のコーディングの専門知識を持つJacobは、次世代の技術リーダーを指導しながら、エンタープライズグレードのC#、Java、Python PDFテクノロジーにおけるイノベーションの推進に注力しています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね