Excelファイルの例を読む

9998 ワード

膨大な量のExcelデータを処理することができ、正しいフォーマットで結果を評価できるように開発者として重要です.我々は簡単にスプレッドシートからCSharp Excelデータを読むために迅速かつ最も簡単な方法が必要と我々のアプリケーションに適用されます.ここでは、Excelファイルのプロジェクト例を紹介します.

ライブラリのインストール
Install the Library via DLL Download or access it through the NuGet page . このIronxlライブラリを使用すると、Excelファイルデータを読み取るために必要な機能に完全にアクセスできますし、プロジェクト内で無制限の開発に使用することができます.PM > Install-Package IronXL.Excelハウツーとスタイル

2 .ワークシートを開く
プロジェクトでExcelファイルと目的のワークシートを読み込み、CSharpプロジェクトでExcelファイルデータを読み込む方法を始めましょう.
C
//Load Excel file
WorkBook wb = WorkBook.Load("Path");
VB
'Load Excel file
Dim wb As WorkBook = WorkBook.Load("Path")
上記のコードはオブジェクトを作成します.wb , Workbookクラスの指定したExcelファイルを読み込みます.この後、特定のExcelファイルのワークシートを次のように開きます.
C
//Open Excel WorkSheet
WorkSheet ws = wb.GetWorkSheet("SheetName");
VB
'Open Excel WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("SheetName")
wb 上記のコードサンプルで定義されているブックです.指定したワークシートをws そして、我々は多くの方法で、任意の種類のデータを取得するためにそれを使用することができます.
ここでは、Excelスプレッドシートからデータを読み取るために、Ironxlとどのように動作するかを理解するいくつかの例を見てみましょう.

Excelファイルのセル値の読み込み
Excelファイルの特定のセル値を読みたいなら、WorkSheet[] における機能
C
string val = WorkSheet["Cell Address"].ToString();
VB
Dim val As String = WorkSheet("Cell Address").ToString()
これは特定のセルアドレスのデータを返します.また、行と列のインデックスを使用してExcelファイルから特定のセルデータを読み取る別の方法があります.
C
string val = WorkSheet.Rows[RowIndex].Columns[ColumnIndex].ToString();
VB
Dim val As String = WorkSheet.Rows(RowIndex).Columns(ColumnIndex).ToString()
注意:行および列インデックスは0 .
上記の2つの方法を使用してExcelファイルからデータを取得する方法の例を見てみましょう.
C
using IronXL;
static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    //get value by cell address
    string address_val = ws["B3"].ToString();
    //get value by row and column indexing
    string index_val = ws.Rows[5].Columns[1].ToString();
    Console.WriteLine("Get value by Cell Addressing:\n Value of cell B3: {0}", address_val);
    Console.WriteLine("Get value by Row and Column index:\n Value of Row 5 and Column 1: {0}", index_val);
    Console.ReadKey();
}
VB
Imports Microsoft.VisualBasic
Imports IronXL
Shared Sub Main(ByVal args() As String)
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
    'get value by cell address
    Dim address_val As String = ws("B3").ToString()
    'get value by row and column indexing
    Dim index_val As String = ws.Rows(5).Columns(1).ToString()
    Console.WriteLine("Get value by Cell Addressing:" & vbLf & " Value of cell B3: {0}", address_val)
    Console.WriteLine("Get value by Row and Column index:" & vbLf & " Value of Row 5 and Column 1: {0}", index_val)
    Console.ReadKey()
End Sub
上のコードに次の出力が表示されます.

Excelファイルを見ることができますsample.xlsx ここで値

それはかなり私たちの時間とプロセスのエネルギーを節約するために優れているRiroxl、Excelファイルからデータを読むことは簡単です.より多くの例のためにread data from Excel files ここでExcelセルの値にアクセスすることができます.

Excelデータを範囲内で読み込む
Ironxlは、特定の範囲でExcelファイルデータを読むインテリジェントな方法を提供します.範囲は行と列の両方に適用できます.
C
//Apply range
WorkSheet["From Cell Address : To Cell Address"];
VB
'Apply range
WorkSheet("From Cell Address : To Cell Address")
指定した範囲からすべての値を返します.Ironxlを使用して特定の範囲でExcelデータを取得する方法の例を見てみましょう.
C
using IronXL;
static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    //get specified range values by loop
    foreach (var item in ws["B3:B8"])
    {
        Console.WriteLine("Value is: {0}", item);
    }
    Console.ReadKey();
}
VB
Imports IronXL
Shared Sub Main(ByVal args() As String)
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
    'get specified range values by loop
    For Each item In ws("B3:B8")
        Console.WriteLine("Value is: {0}", item)
    Next item
    Console.ReadKey()
End Sub
上のコードに次の出力が表示されます.

Excelファイルを生成するsample.xlsx

CシャープExcelの範囲とファイルのデータとの作業についての詳細を読む.

Excelファイルの論理データを読み込む
アプリケーション開発では、ExcelファイルのBoolean型に基づいて決定を行う必要があります.そのためには、BoolValue() 次のようにIncorxlの機能;
C
WorkSheet["Cell Address"].BoolValue;
VB
WorkSheet("Cell Address").BoolValue
ブール型データ型を返すTrue or False . Excelファイルの論理データ型を指定した範囲で読み込む方法の例を見てみましょう.
C
using IronXL;
static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    foreach (var item in ws["G1:G10"])
    {
    Console.WriteLine("  Condition is: {0}", item.BoolValue);
    }
    Console.ReadKey();
}
VB
Imports IronXL
Shared Sub Main(ByVal args() As String)
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
    For Each item In ws("G1:G10")
    Console.WriteLine("  Condition is: {0}", item.BoolValue)
    Next item
    Console.ReadKey()
End Sub
このようにして出力を取得します.

とExcelファイルsample.xlsx 値をC1 to C10 :


完全なExcelワークシートを読む
行と列のインデックスを使用して完全なExcelワークシートを読むことは簡単です.この目的のために、我々は2つのループを使います、1つはすべての行を横断するためにあります、そして、2番目は特定の列のすべてのコラムを横断するためにあります.実装した例の助けを借りて理解しましょう.
C
using IronXL;
static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    //Traverse all rows of Excel WorkSheet
    for (int i = 0;  i< ws.Rows.Count(); i++)
    {
        //Traverse all columns of specific Row
        for (int j = 0; j < ws.Columns.Count(); j++)
        {
            //Get the values
            string val = ws.Rows[i].Columns[j].Value.ToString();
            Console.WriteLine("Value of Row {0} and Column {1} is: {2}", i, j,val);
        }
    }
    Console.ReadKey();
}
VB
Imports IronXL
Shared Sub Main(ByVal args() As String)
    Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
    Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
    'Traverse all rows of Excel WorkSheet
    For i As Integer = 0 To ws.Rows.Count() - 1
        'Traverse all columns of specific Row
        For j As Integer = 0 To ws.Columns.Count() - 1
            'Get the values
            Dim val As String = ws.Rows(i).Columns(j).Value.ToString()
            Console.WriteLine("Value of Row {0} and Column {1} is: {2}", i, j,val)
        Next j
    Next i
    Console.ReadKey()
End Sub
上記のコードの出力は、Excelワークシートのすべての値を表示します.