IRONXLの使用

C#でExcelファイルをインポートする方法

更新済み 2024年2月20日
共有:

Microsoft Excelは、データの整理、提示、および分析を支援する多用途のスプレッドシートソフトウェアです。 しかし、C#でプログラム的にExcelを扱うことは難しい場合があります。 IronXLソフトウェアライブラリは、C#でExcelファイルをインポートおよび読み取りに使用できます。

IronXL - Excel ライブラリ

IronXLは、使いやすさ、正確さ、および速度を重視した.NET Excelライブラリです。 それは、Excelドキュメントをインポート及び読み取り、効率的にExcelファイルを作成及び編集するのに役立ちます。また、驚異的な速度で動作します。 MS Office Interopを使用せずに動作します。これは、Excelがインストールされていなくても、Excelファイルを読み取るためのすべての機能を提供することを意味します。 これは、IronXLが開発者にとってC#でExcelファイルをインポートおよび読み取るための強力なツールとなる理由です。

IronXLは、Windows、Linux、MacOS、Docker、Azure、AWSなどのすべてのプラットフォームで利用可能です。 すべての .NET フレームワークと互換性があります。 IronXLは、コンソール、デスクトップ、およびWeb ASP.NETアプリケーションに統合できる多用途なライブラリです。 XLSおよびXLSXファイル、XSLTおよびXLSM、CSVおよびTSVのようなさまざまなワークブック形式に対応しています。

重要な機能

  • Excel ファイルを開き、読み取り、データを検索します。異なるスプレッドシート形式XLS/CSV/TSV/XLSXファイルのように。
  • ExcelワークシートをXLS/XLSX/CSV/TSV/JSONにエクスポート。
  • 暗号化と復号化XLSM/XLTX/XLSX ファイルのパスワード。
  • ExcelシートをSystem.Data.DataSetおよびSystem.Data.DataTableオブジェクトとしてインポートします。
  • エクセルファイル数式シートが編集されるたびに再計算されます。
  • 直感的なセル範囲設定は WorkSheet[「A1:B10」]使いやすい構文。
  • セル範囲、列、行の並び替え。
  • セルのスタイル設定 - フォント、フォントサイズ、背景色ボーダー、アライメント以下のコンテンツを日本語に翻訳してください:Number Format.

C#でExcelワークブックをインポートする方法

前提条件

C#でExcelファイルを読み取るためにIronXLを使用するには、次のコンポーネントがコンピューターにインストールされていることを確認してください:

  1. Visual Studio(ビジュアル スタジオ) - C# .NETアプリケーションを開発するための公式IDEです。 Visual Studioは、ダウンロードしてインストールすることができます。マイクロソフトのウェブサイト.

  2. IronXL - これは、C#で指定されたパスにあるExcelシートを操作するためのライブラリです。 使用する前にC#プログラムにインストールする必要があります。 IronXLはからダウンロードできますNuGetウェブサイトまたは、Visual Studio のツールで NuGet パッケージを管理します。 こちらからダウンロードできます.NET エクセル DLLファイルを直接。

必要な名前空間の追加

Visual StudioとIronXLをインストールしたら、ソースコードでIronXLを使用するためにIronXLアセンブリを参照してください。 以下のコード行を、新しいプロジェクト内でIronXLの機能を使用するファイルの上部に追加してください:

using IronXL;  
using IronXL;  
Imports IronXL
VB   C#

C#で既存のExcelファイルを開く

Microsoft Excel スプレッドシートは、Excel ワークブックとも呼ばれます。 各ワークブックには複数のワークシートが含まれ、各ワークシートには値を持つ表形式のセルが含まれます。 以下の内容を日本語に翻訳してください:

ToExcelファイルを開いて読み取るこれは、でロードする必要がありますWorkBook次の内容を日本語に翻訳してください:

「クラス」および読み込むIronXLライブラリに存在するメソッド。 コードは次のようになります:

//Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");  
//Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");  
'Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
VB   C#

これは、ワークブックインスタンスの参照変数内でExcelファイルを開きます。 複数のワークシートを持つことができるため、特定のワークシートを開くか、一度にすべてを開くことができます。 次のコードは、シートインスタンス変数で最初のワークシートを開きます:

WorkSheet sheet = workbook.WorkSheets.First();  
WorkSheet sheet = workbook.WorkSheets.First();  
Dim sheet As WorkSheet = workbook.WorkSheets.First()
VB   C#

これにより、Excelファイルの最初のシートが開かれ、このシートに対してデータの読み取りおよび書き込みが可能になります。

開いたExcelファイル

C#でExcelファイルをインポートする方法, 図1: Excelファイル

Excelファイル

インポートされたExcelファイルからデータを読み取る

Excelファイルがインポートされると、データ読み取りの準備が整います。 C#でIronXLを使用してExcelファイルのデータを読み取るのは非常に簡単で容易です。 セル参照番号を指定するだけで、Excelセルの値を読み取ることができます。

以下のコードは参照番号「C2」のセルの値を取得します:

//Select cells easily in Excel-notation and return the value
int cellValue = sheet ["C2"].IntValue;

//Display the value
Console.WriteLine(cellValue);
//Select cells easily in Excel-notation and return the value
int cellValue = sheet ["C2"].IntValue;

//Display the value
Console.WriteLine(cellValue);
'Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet ("C2").IntValue

'Display the value
Console.WriteLine(cellValue)
VB   C#

出力は以下の通りです:

C#でExcelファイルをインポートする方法、図2: Excelを読み込む

エクセルを読む

さて、開かれたExcelファイルから、セルの範囲のデータを読み取りましょう。コードは次の通りです。

// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"]) {
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}  
// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"]) {
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}  
' Read from Range of cells elegantly.
For Each cell In sheet ("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

コードはとてもシンプルで、クリーンかつ明確です。 セルの範囲は、以下のように foreach ループで単純な構文を使って参照できます: `sheet[「A2:A6」]各セルは、forループを使用してその値を取得するために反復処理できます。 ここでは、コンソール出力において、列Aの行2から行6までの名前が表示されます。

C#でExcelファイルをインポートする方法、図3:セル範囲を読み取る

範囲内のセルを読む

セルの値の読み書きに関する詳細については、このチュートリアルをご覧ください。C#でExcelファイルを読み取る例.

Excelファイルからすべてのデータをインポート

IronXLは、行と列のインデックスを使用して一度にExcelシートを読み取るために使用できます。 以下のIronXLコードサンプルは、Excelファイル全体のデータを同じ形式でコンソール出力に取得するのに役立ちます:

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

//Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++) {
    //Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++) {
        //Get the values 
        string val = sheet.Rows [i].Columns [j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}  
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

//Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++) {
    //Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++) {
        //Get the values 
        string val = sheet.Rows [i].Columns [j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}  
Imports Microsoft.VisualBasic

Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

'Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
	'Traverse all columns of specific Row
	For j As Integer = 0 To sheet.Columns.Count() - 1
		'Get the values 
		Dim val As String = sheet.Rows (i).Columns (j).Value.ToString()
		Console.Write("{0}" & vbTab, val)
	Next j
	Console.WriteLine()
Next i
VB   C#

出力ファイル

C#でExcelファイルをインポートする方法, 図4: Excelファイルを読み取るための出力コンソール

エクセルファイルを読むための出力コンソール

画像に代替テキストを追加する。

サマリー

この記事では、Microsoft ExcelをインストールせずにC#でExcelファイルをインポートして読み込む方法を示しました。 次に、Excelスプレッドシートからデータを読み取るための複数の方法を検討しました。 IronXLは、ExcelをインストールせずにC#でExcelファイルを作成することも支援します。

IronXLは、プログラムによって実装されるすべてのMicrosoft Excelドキュメント関連タスクに対するオールインワンソリューションを提供します。 数式計算、文字列や数値のソート、トリミングと追加、検索と置換、結合と非結合、ファイルの保存などを行うことができます。セルの値を編集し、セルのデータ形式を設定するとともに、スプレッドシートデータの検証も行うことができます。 CSVファイルにも対応しており、Excelデータのように操作することができます。

IronXL無料試用版をご利用いただけます。ライセンス済み商業目的で使用する場合は、Liteパッケージが $749 から始まります。

< 以前
C#でデータテーブルをCSVにエクスポートする方法
次へ >
C#でデータセットをCSVに変換する方法