VB .NET でExcelファイルを読み取る&作成する(コード例チュートリアル)

This article was translated from English: Does it need improvement?
Translated
View the article in English

開発者は、VB .NETのExcelファイルにアクセスするためのスムーズでシンプルな方法を必要としています。 このウォークスルーでは、IronXLを使用してVB dotnetのExcelファイルを読み取り、プロジェクトで使用するすべてのデータにアクセスします。 私たちは、あらゆる形式のスプレッドシートの作成について学びます。 ( .xls.xlsx.csv、および.tsv )、また、セルのスタイルを設定したり、VB.NET Excelプログラミングを使用してデータを挿入したりします。


ステップ 1

1. Excel for VB.NET ライブラリ

VB.NETライブラリのIronXL Excelを使用して取得する DLLダウンロード はい、以下の内容を日本語に翻訳いたします:

以下の内容を日本語に翻訳してください:

IronPDF allows developers to generate, edit and read PDF files in .NET applications. It simplifies the process of integrating PDF functionalities into software development projects.

Let's get started! NuGet. IronXLは、VB.NETプロジェクトでExcelデータに迅速にアクセスするための私たちのステップ1であり、このチュートリアルで使用します。 (開発用に無料).

Install-Package IronXL.Excel

チュートリアル方法

2. VB.NETでExcelファイルを作成

IronXLは、Excelを作成するための最も簡単なアプローチを提供します。 (.xlsx 形式) VB.NETプロジェクト内のファイル。 次に、データを挿入し、フォントスタイルや枠線などのセルプロパティを設定することができます。

2.1. Excelファイルの作成

最初にWorkBookを作成しましょう:

Dim wb As New WorkBook
Dim wb As New WorkBook
VB.NET

上記のコードは、新しいExcelファイルを作成するためのものです。デフォルトでは、その拡張子は .xlsx です。

2.2. XLSファイルを作成する

.xls拡張子のファイルを作成したい場合は、次のコードを使用できます。

Dim wb As New WorkBook(ExcelFileFormat.XLS)
Dim wb As New WorkBook(ExcelFileFormat.XLS)
VB.NET

2.3. ワークシートを作成する

WorkBookを作成した後、ExcelのWorkSheetは次のように作成できます。

Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
VB.NET

上記のコードは、WorkBook wbに名前sheet1の新しいWorkSheet ws1を作成します。

2.4. 複数のワークシートを作成

同じ方法で複数のWorkSheetsを作成できます。

Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
VB.NET

3. ワークシートにデータを挿入

セルにデータを挿入する

さて、以下のように WorkSheet のセルにデータを簡単に挿入できます:

 worksheet("CellAddress").Value = "MyValue"
 worksheet("CellAddress").Value = "MyValue"
VB.NET

例えば、ワークシート ws1 のデータは以下のように挿入できます:

ws1("A1").Value = "Hello World"
ws1("A1").Value = "Hello World"
VB.NET

上記のコードは、ワークシート ws1A1 セルに Hello World と書き込みます。

3.2. 範囲にデータを挿入

次のように範囲関数を使用して多くのセルにデータを書き込むことも可能です:

ws1("A3:A8").Value = "NewValue"
ws1("A3:A8").Value = "NewValue"
VB.NET

上記のコードは、ワークシート ws1 のセル A3 から A8NewValue を書き込みます。

3.3. ワークシートの作成と編集の例

私たちは新しいExcelファイル Sample.xlsx を作成し、上記で学んだコードを紹介するためにその中にいくつかのデータを挿入します。

/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
    Dim wb As New WorkBook(ExcelFileFormat.XLSX)
    Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
    ws1("A1").Value = "Hello"
    ws1("A2").Value = "World"
    ws1("B1:B8").Value = "RangeValue"
    wb.SaveAs("Sample.xlsx")
End Sub
/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
    Dim wb As New WorkBook(ExcelFileFormat.XLSX)
    Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
    ws1("A1").Value = "Hello"
    ws1("A2").Value = "World"
    ws1("B1:B8").Value = "RangeValue"
    wb.SaveAs("Sample.xlsx")
End Sub
VB.NET

注意: デフォルトでは、新しいExcelファイルはプロジェクトの bin>Debug フォルダーに作成されます。カスタムパスに新しいファイルを作成したい場合は、次のようにします:

wb.SaveAs(@"E:\IronXL\Sample.xlsx") ```

こちらが新しく作成したExcelファイル sample.xlsx のスクリーンショットです:

VB.NETアプリケーションでIronXLを使用してExcelファイルを作成するのがいかに簡単かが明らかです。


4. VB.NETでExcelファイルを読み取る

IronXLは、Excelの読み取りにシンプルなアプローチを提供します。 (.xlsx) VBドットネットプロジェクト内のファイル。 この目的のためには、単にExcelドキュメントを取得し、プロジェクトにロードし、そのデータを読み込み、必要に応じて使用してください。

以下の手順に従ってください:

4.1. プロジェクト内でExcelファイルにアクセスする

WorkBook は IronXL のクラスであり、そのオブジェクトは Excel ファイルおよびその機能への完全なアクセスを提供します。 たとえば、Excelファイルにアクセスしたい場合、単純に以下を使用します:

WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
VB.NET

以下のコードでは、 WorkBook.Load()wbsample.xlsxをロードする関数wb`に対する任意のタイプの機能は、Excelファイルの特定のワークシートにアクセスすることによって実行できます。

4.2. 特定のWorkSheetにアクセス

Excelの特定のシートにアクセスするには、次のような異なる方法で使用できる WorkSheet クラスを使用してください。

4.2.1. シート名による検索

Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
VB.NET

wbは上記のセクションで宣言された作業ブックです。

シートインデックスによる

 Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
 Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
VB.NET

4.2.3. デフォルトシート

Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet: 
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet: 
VB.NET

4.2.4. 最初のシート

Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
VB.NET

4.2.1. 最初のシートまたはデフォルトシート

Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
VB.NET

Excelシートwsを取得した後、対応するExcelファイルのWorkSheetからあらゆる種類のデータを取得し、すべてのExcel機能を実行することができます。


ワークシートからデータにアクセスする

データは次のようにExcelシート ws からアクセスできます:

Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
VB.NET

特定の列からのデータ

特定の列の複数のセルからデータを取得するには、次の方法を使用します:

For Each cell In sheet("A2:A10")
    Console.WriteLine("value is: {0}", cell.Text)       
Next cell
For Each cell In sheet("A2:A10")
    Console.WriteLine("value is: {0}", cell.Text)       
Next cell
VB.NET

セル A2 から A10 までの値が表示されます。 以下に、上記の議論全体のコード例を示します。

/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
    For Each cell In ws("A2:A10")
        Console.WriteLine("value is: {0}", cell.Text)
    Next
    Console.ReadKey() 
End Sub
/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
    For Each cell In ws("A2:A10")
        Console.WriteLine("value is: {0}", cell.Text)
    Next
    Console.ReadKey() 
End Sub
VB.NET

次の出力が表示されます:

そして、Excelファイル Sample.xlsx のスクリーンショットが表示されています:


データに対して関数を実行する

次の方法で、Sum、Min、Max などの集計関数を適用することで、Excel WorkSheet からフィルターされたデータに簡単にアクセスできます:

Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
VB.NET

詳しくは、 エクセル集計関数 ここに、IronPDF、IronOCR、IronXL、IronBarcode、IronQR、IronZIP、IronPrint、IronWord、およびIronWebScraperに関する情報を見つけることができます。これらの製品は、PDFの生成、OCR、スプレッドシートの処理、バーコードの生成および読み取り、QRコードの作成、ファイルの圧縮および展開、印刷サポート、文書の操作、およびウェブデータのスクレイピングなど、多岐にわたる機能を提供します。各製品は.Net、Java、Python、Node.jsなどの主要なプラットフォームとの互換性があります。詳細については、Iron Softwareの公式ウェブサイトをご覧ください。

/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()

    Dim sum As Decimal = ws("G2:G10").Sum()
    Dim min As Decimal = ws("G2:G10").Min()
    Dim max As Decimal = ws("G2:G10").Max()

    Console.WriteLine("Sum is: {0}", sum)
    Console.WriteLine("Min is: {0}", min)
    Console.WriteLine("Max is: {0}", max)
    Console.ReadKey()
End Sub
/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()

    Dim sum As Decimal = ws("G2:G10").Sum()
    Dim min As Decimal = ws("G2:G10").Min()
    Dim max As Decimal = ws("G2:G10").Max()

    Console.WriteLine("Sum is: {0}", sum)
    Console.WriteLine("Min is: {0}", min)
    Console.WriteLine("Max is: {0}", max)
    Console.ReadKey()
End Sub
VB.NET

このコードは、この表示を提供します:

この Excel ファイル Sample.xlsx

以下について詳しく知ることができます Excelを読み込む リンクされた記事にて。


チュートリアル クイック アクセス

ドキュメント APIリファレンス

IronXLのAPIリファレンスドキュメントおよび、VB.NETプロジェクトでExcelを簡単に操作する方法にアクセスしてください。機能、関数、クラスなどのリストを見つけてください。

ドキュメント APIリファレンス