IRONXLの使用

C#でExcelファイルを開く方法

リーガン・パン
リーガン・パン
2023年3月19日
更新済み 2024年2月6日
共有:

このチュートリアルでは、C#プロジェクトでExcelファイルを開いて読み取るための主要なツールとしてIronXLを使用します。

IronXL Excelライブラリ

IronXL は、使いやすさ、正確さ、速度を重視した.NETライブラリです。 それは、エクセルファイルの開封、読取り、作成、および編集を超高速でエラーなしに行うのに役立ちます。 MS Office Interop を使用せずに動作するため、開発者にとって強力なツールとなります。

IronXLはすべての.NETフレームワークに加えて、Linux、MacOS、Docker、Azure、およびAWSと互換性があります。 それは、BlazorやMAUIなどのモダンなWebアプリケーションのためのコンソール、Web、デスクトップアプリケーションを作成するために使用できます。XLSおよびXLSXファイル、XSLTおよびXLSM、CSVおよびTSVなど、さまざまなワークブック形式に対応しています。

いくつかの重要なIronXLの機能

  • XLS/XLSXファイル/CSV/TSVなどの異なる形式でデータを開く、読み取る、検索する。
  • ExcelワークシートをXLS/XLSX/CSV/TSV/JSONにエクスポート。
  • 暗号化 およびパスワードによるXLSX/XLSM/XLTXファイルの復号化。
  • System.Data.DataSetおよびSystem.Data.DataTableオブジェクトとしてExcelシートを操作します。
  • Excelファイルの数式は、シートが編集されるたびに自動的に再計算されます。
  • 簡単なスプレッドシートデータの編集 は直感的なセル範囲ベースの構文(例:WorkSheet["A1:B10"])で行います。
  • セル範囲の並べ替え、列および行。
  • セルのスタイル設定 - フォント、フォントサイズ背景色ボーダー、配置および数値形式

C#でExcelファイルを開く方法は?

前提条件

IronXLをC#アプリケーションで使用するには、これらのコンポーネントをローカルコンピュータにインストールする必要があります:

  1. Visual Studio - これはC# .NETアプリケーションを開発するための公式IDEです。 Visual Studio は、Microsoft のウェブサイトからダウンロードしてインストールできます。 また、Jetbrains ReSharper & Rider を使用することもできます。

  2. IronXL - これは、C#で指定されたパスのExcelシートを操作するのに役立つExcelライブラリです。 ご利用になる前にC#アプリケーションにインストールする必要があります。 NuGet ウェブサイト または Visual Studio ツールの NuGet パッケージの管理からダウンロードできます。 直接.NET Excel DLLファイルをダウンロードすることもできます。

必要な名前空間の追加

Visual StudioとIronXLがインストールされたら、ソースコードで参照するためにIronXL 名前空間が必要です。 新しいプロジェクト内でIronXLの機能を使用するファイルの一番上に、以下のコード行を追加してください:

//add reference
using IronXL;
//add reference
using IronXL;
'add reference
Imports IronXL
$vbLabelText   $csharpLabel

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

Excelファイルはワークブックとも呼ばれます。 各ワークブックには複数のワークシートが含まれており、各ワークシートにはセルの値が含まれています。 Excelファイルを開いて読み取るには、WorkBookクラスのLoadメソッドを使用して読み込む必要があります。

//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")
$vbLabelText   $csharpLabel

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

WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

これにより、Excelファイルの最初のシートが開かれ、このシートにデータを読み書きすることができるようになります。

ここで開かれたExcelファイルは:

C#でExcelファイルを開く方法 図1: Excelファイル

Excelファイル

C#でExcelファイルを読み込む

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

以下のコードはファイルからセルの値を取得します:

//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)
$vbLabelText   $csharpLabel

出力は以下の通りです:

C#でExcelファイルを開く方法、図2: Excelを読む

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
$vbLabelText   $csharpLabel

セル範囲A2からA6内の値は、forループを使用してアクセスされます。各値はコンソールに出力されます。

C#でExcelファイルを開く方法、図3:セル範囲を読み込む

セル範囲を読み取る

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

新しいワークブックを作成

IronXLはまた、新しいワークブックの作成 にも役立ち、それを後でデータの保存と取得に使用できます。

Excelファイルを読み込むのと同様に、Excelファイルを作成するのも非常に簡単で、わずか1行のコードで実行できます。

WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

ワークシートを作成し、後で使用するためのデータを追加しましょう。

新しいワークシートを作成

WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
$vbLabelText   $csharpLabel

上記のコード行は、現在ロードされているワークブックに「GDPByCountry」という名前のワークシートを作成し、現在のWorkSheetにセルの値を追加できるようにします。

次のコードはA1セルに値を追加します:

workSheet ["A1"].Value = "Example";
workSheet ["A1"].Value = "Example";
workSheet ("A1").Value = "Example"
$vbLabelText   $csharpLabel

最終出力は以下の通りです:

C#でExcelファイルを開く方法、図4: セルに値を追加

セルに値を追加

サマリー

この記事では、IronXLを使用してC#でXLS、XLSXなどのExcelファイルを開いて読み取る方法を示しました。 IronXL は、すべての Excel 関連タスクを実行するためにシステムに Microsoft Excel をインストールする必要がありません。

IronXLは、数式の計算、文字列の並べ替え、トリミング、検索と置換、結合と結合解除ファイルの保存など、すべてのExcel関連のタスクをプログラムで実行するためのソリューションを提供します。セルデータのフォーマットも設定できます。

IronXLは30日間の無料トライアルを利用可能で、商業利用のためにライセンスを取得できます。 IronXLのLiteパッケージは$749から始まります。

リーガン・パン
ソフトウェアエンジニア
レーガンはリーディング大学で電子工学の学士号を取得しました。Iron Softwareに入社する前の仕事では、一つのタスクに集中して取り組んでいました。Iron Softwareでは、営業、技術サポート、製品開発、マーケティングのいずれにおいても広範な業務に携わることが最も楽しいと感じています。彼は、Iron Softwareライブラリを開発者がどのように使用しているかを理解し、その知識を使ってドキュメントを継続的に改善し、製品を開発することを楽しんでいます。
< 以前
C#でExcelファイルを読み取る方法
次へ >
Excelでテーブルを範囲に変換する方法