VB .NET で Excel ファイルを読み取り、作成する (コード例チュートリアル)
開発者はVB .NETのExcelファイルにアクセスする際に滑らかでシンプルなアプローチを必要とします。 このウォークスルーでは、IronXLを使用してVB .netのExcelファイルを読み込み、プロジェクトで使用するためのすべてのデータにアクセスします。 すべての形式(.xls、.xlsx、.csv、.tsv)のスプレッドシートの作成、セルスタイルの設定、VB.NET Excelプログラミングを使用したデータの挿入について学びます。
VB.NETでExcelファイルを読む方法
- VB.NETをダウンロードしてExcel C#ライブラリを読む
- VB.NETでExcelファイルを作成
- ワークシートにデータを挿入
- VB.NETでExcelファイルを読み取る
- ワークシートからデータにアクセスする
- データに対して関数を実行する
ステップ1
1. VB.NET用Excelライブラリ
DLLダウンロードまたはNuGetを使用してIronXL Excel for VB.NETライブラリを取得します。 IronXLはVB.NETプロジェクトでのExcelデータに迅速にアクセスするためのステップ1であり、このチュートリアルで使用します(開発のために無料)。
Install-Package IronXL.Excel
チュートリアル
2. VB.NETでExcelファイルを作成する
IronXLはVB.NETプロジェクトでExcel(.xlsx形式)ファイルを作成するための最もシンプルなアプローチを提供します。 その後、データを挿入し、フォントスタイルや境界線などのセルプロパティを設定することもできます。
2.1. Excelファイルを作成
まず、ワークブックを作成しましょう:
' Create a new Excel workbook with the default format (.xlsx)
Dim wb As New WorkBook' Create a new Excel workbook with the default format (.xlsx)
Dim wb As New WorkBook上記のコードは、新しいExcelファイルを作成するためのものです。デフォルトでは、拡張子は.xlsxです。
2.2. XLSファイルを作成
拡張子.xlsのファイルを作成したい場合は、このコードを使用できます:
' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)2.3. ワークシートを作成
ワークブックを作成した後、次のようにExcelワークシートを作成できます:
' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")上記のコードは、新しいワークシートws1を作成し、ワークブックwbに名前Sheet1を持ちます。
2.4. 複数のワークシートを作成
同じ方法で任意の数のワークシートを作成することができます:
' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")3. ワークシートにデータを挿入する
3.1. セルにデータを挿入する
今、次のようにしてワークシート内のセルに簡単にデータを挿入できます:
' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"例えば、ワークシートws1のデータは次のように挿入できます:
' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"上記のコードは、ワークシートws1のセルA1にHello Worldを書くでしょう。
3.2. 範囲にデータを挿入する
範囲関数を使用して多くのセルにデータを書き込むことも可能です。
' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"3.3. ワークシートの作成と編集の例
新しいExcelファイルSample.xlsxを作成し、上記で学んだコードを見せるためにいくつかのデータを挿入します。
' Import IronXL namespace for Excel operations
Imports IronXL
' Main subroutine to create and edit Excel
Sub Main()
' Create a new workbook in XLSX format
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
' Create a worksheet named "Sheet1"
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data into cells
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
' Insert a range of values
ws1("B1:B8").Value = "RangeValue"
' Save the workbook as "Sample.xlsx"
wb.SaveAs("Sample.xlsx")
End Sub' Import IronXL namespace for Excel operations
Imports IronXL
' Main subroutine to create and edit Excel
Sub Main()
' Create a new workbook in XLSX format
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
' Create a worksheet named "Sheet1"
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data into cells
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
' Insert a range of values
ws1("B1:B8").Value = "RangeValue"
' Save the workbook as "Sample.xlsx"
wb.SaveAs("Sample.xlsx")
End Sub注意: デフォルトでは、新しいExcelファイルはプロジェクトのbin\Debugフォルダに作成されます。 カスタムパスに新しいファイルを作成したい場合は、以下を使用します:
wb.SaveAs(@"E:\IronXL\Sample.xlsx")wb.SaveAs(@"E:\IronXL\Sample.xlsx")こちらが新たに作成されたExcelファイルSample.xlsxのスクリーンショットです:
IronXLを使用してVB.NETアプリケーションでExcelファイルを作成することがいかに簡単であるかが明らかです。
4. VB.NETでExcelファイルを読み込む
IronXLはVB.NETプロジェクトでExcel(.xlsx)ファイルを読み込むためのシンプルなアプローチも提供します。 この目的のために、単にExcel文書を取得し、それをプロジェクトに読み込み、そのデータを読み、それを必要に応じて使用します。
次の手順に従います。
4.1. プロジェクトでのExcelファイルへのアクセス
WorkBookは、Excelファイルおよびその機能に完全にアクセスするためのオブジェクトを提供するIronXLのクラスです。 例えば、Excelファイルにアクセスしたい場合、単に以下を使用します:
' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path上記のコードでは、WorkBook.Load()関数はsample.xlsxをwbに読み込みます。 Excelファイルの特定のワークシートにアクセスすることで、wbであらゆるタイプの関数を実行できます。
4.2. 特定のワークシートにアクセス
Excelの特定のシートにアクセスするために、次のように使用できるWorkSheetクラスを使用します:
シート名で
' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet nameシートインデックスで
' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet index' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet indexデフォルトシート
' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet最初のシート
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheetExcelファイルの該当するワークシートからwsのExcelシートを取得した後、Excelのすべての機能を実行できます。
5. ワークシートからデータにアクセス
ExcelSheet wsからデータを次のようにしてアクセスできます:
' Retrieve values from specific cells
Dim int_Value As Integer = ws("A2").IntValue 'for integer
Dim str_value As String = ws("A2").ToString() 'for string' Retrieve values from specific cells
Dim int_Value As Integer = ws("A2").IntValue 'for integer
Dim str_value As String = ws("A2").ToString() 'for string5.1. 特定の列のデータ
特定の列の多くのセルからデータを取得することも次のように可能です:
' Loop through cells in a specific range and print their values
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell' Loop through cells in a specific range and print their values
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cellセルA2からA10までの値が表示されます。 上記の議論のコード例は以下に示されています。
' Example: Load and display values from a column
Imports IronXL
Sub Main()
' Load the workbook from file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Loop through cells in range A2:A10
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub' Example: Load and display values from a column
Imports IronXL
Sub Main()
' Load the workbook from file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Loop through cells in range A2:A10
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub次の出力が表示されます:
ExcelファイルSample.xlsxのスクリーンショットをご覧いただけます:
6. データに関数を実行する
次のようにSum、Min、Maxなどの集約関数を適用してExcelワークシートからフィルターされたデータにアクセスすることはシンプルです:
' Aggregate functions on a range of data
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()' Aggregate functions on a range of data
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()Excel集約関数についてはこちらでさらに詳しく読むことができます。
' Example: Apply functions to data
Imports IronXL
Sub Main()
' Load the workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Perform aggregate calculations
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
' Print the results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub' Example: Apply functions to data
Imports IronXL
Sub Main()
' Load the workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Perform aggregate calculations
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
' Print the results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Subこのコードは以下の表示を与えます:
このExcelファイルSample.xlsx:
詳細は、Excel を読むに関する記事を参照してください。
チュートリアル クイックアクセス
ドキュメント API リファレンス
IronXLのドキュメントAPIリファレンスにアクセスし、VB.NETプロジェクトでExcelを操作する簡単な方法をご確認ください。機能、関数、クラスなどのリストもご覧いただけます。
ドキュメント API リファレンスよくある質問
Interopを使用せずにVB.NETでExcelファイルを読み取るにはどうすればよいですか?
Interopを使用せずにVB.NETでExcelファイルを読み取るには、IronXLのWorkBook.Loadメソッドを使用してファイルを読み込みます。読み込んだら、特定のワークシートからデータにアクセスできます。
VB.NETでExcelファイルを作成する手順は何ですか?
VB.NETでIronXLを使用してExcelファイルを作成するには、新しいWorkBookオブジェクトを生成することから始めます。CreateWorkSheetメソッドを使用してシートを追加し、セルの値を設定してデータを入力します。
VB.NETでExcelの異なるファイル形式で作業することは可能ですか?
はい、VB.NETでIronXLを使用する場合、.xls、.xlsx、.csv、.tsvなどの形式でExcelファイルを作成および操作できます。
VB.NETでExcelデータに計算を実行するにはどうすれば良いですか?
IronXLは、Sum、Min、Maxのような計算をセル範囲に直接実行することを可能にします。例えば、ws('A1:A10').Sum()を使用してその範囲の値の合計を計算します。
VB.NETを使用して、Excelワークシートの特定のセルにデータを挿入できますか?
はい、VB.NETでIronXLを使用し、ws1('A1').Value = 'Hello World'のようにセルのValueプロパティを設定して、特定のセルにデータを挿入できます。
VB.NETでExcelワークブックを特定のパスに保存するにはどうすれば良いですか?
IronXLを使用してExcelワークブックを特定のパスに保存するには、wb.SaveAs('E:\IronXL\Sample.xlsx')のようにSaveAsメソッドを使用します。
VB.NET開発用のExcelライブラリをダウンロードするにはどうすれば良いですか?
NuGet経由でdotnet add package IronXL.Excelコマンドを実行するか、IronXLウェブサイトからDLLをダウンロードしてVB.NET用のIronXL Excelライブラリをダウンロードできます。
VB.NETを使用して1つのExcelファイルに複数のワークシートを作成できますか?
はい、VB.NETでIronXLを使用して、WorkBookオブジェクトに対してCreateWorkSheetメソッドを複数回呼び出して、1つのExcelファイルに複数のワークシートを作成できます。
VB.NETを使用して、Excelファイル内の特定のワークシートに名前またはインデックスでアクセスするにはどうすれば良いですか?
VB.NETでIronXLを使用して、wb.GetWorkSheet('SheetName')のように名前で、またはwb.WorkSheets(index)のようにインデックスでワークシートにアクセスできます。
VB.NETでIronXLを使用して作成されたExcelファイルは通常どこに保存されますか?
VB.NETでIronXLを使用して作成されたExcelファイルは、通常プロジェクトの'bin\Debug'フォルダに保存されますが、SaveAsメソッドを使用して別のパスを指定することもできます。











