フッターコンテンツにスキップ
IRONXLの使用

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

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

IronXL Excel ライブラリ

IronXL は、使いやすさ、正確さ、スピードを重視した .NET ライブラリです。 これは、Excel ファイルを高速で開き、読み取り、作成、および編集するのに役立ち、エラーがありません。 MS Office Interop を使用しないため、開発者にとって強力なツールです。

IronXL は、Linux、MacOS、Docker、Azure、および AWS とともにすべての .NET Framework と互換性があります。 これは、Blazor や MAUI のような最新の Web アプリケーション用のコンソール、Web、およびデスクトップアプリケーションを作成するために使用できます。また、XLS と XLSX、XSLT と XLSM、CSV、TSV などの異なるワークブック形式をサポートしています。

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

  • 異なる形式(XLS/XLSX ファイル/CSV/TSV)のデータを開いて、読み取り、検索します。
  • Excel ワークシートを XLS/XLSX/CSV/TSV/JSON にエクスポートします。
  • パスワードで XLSX/XLSM/XLTX ファイルを暗号化し、復号化します。
  • Excel シートを System.Data.DataSet および System.Data.DataTable オブジェクトとして扱います。
  • Excel ファイルの数式は、シートが編集されるたびに自動で再計算されます。
  • 直感的なセル範囲ベースの構文を使用した簡単なスプレッドシートデータ編集
  • セル範囲を並べ替え、列と行を並べ替えます。
  • Styling Cells - Font, Font Size, Background color, Border, Alignment, and Numbering formats.

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

前提条件

C# アプリケーションで IronXL を使用するには、以下のコンポーネントをローカルコンピュータにインストールしてください:

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

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

必要な名前空間の追加

Visual Studio と IronXL がインストールされたら、以下の行を C# ファイルの先頭に追加して、必要な IronXL 名前空間を追加します。

// Add reference to the IronXL library
using IronXL;
// Add reference to the IronXL library
using IronXL;
' Add reference to the IronXL library
Imports IronXL
$vbLabelText   $csharpLabel

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

Excel ファイルは、ワークブックとも呼ばれ、各シートにセル値が含まれる複数のワークシートで構成されています。 To open and read an Excel file, load it using the WorkBook class's Load method.

// 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

これにより、ワークブックが WorkBook インスタンスとして初期化されます。 特定の WorkSheet を開くには、WorkSheets コレクションから取得します。

// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

これにより、Excel ファイルの最初のシートにアクセスし、読み取りおよび書き込み準備が整います。

C# での Excel ファイルの開き方、図 1: Excel ファイル Excel ファイル

C# での Excel ファイルの読み取り

Excel ファイルを開くと、データの読み取りが可能になります。 IronXL を使用して C# で Excel ファイルからデータを読み取るのは簡単です。 セル参照を指定してセルの値を読み取ることができます。

次のコードは、セルの値を取得します:

// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;

// Display the value in the console
Console.WriteLine(cellValue);
// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;

// Display the value in the console
Console.WriteLine(cellValue);
' Select the cell using Excel notation and retrieve its integer value
Dim cellValue As Integer = sheet("C2").IntValue

' Display the value in the console
Console.WriteLine(cellValue)
$vbLabelText   $csharpLabel

出力は以下の通りです。

C# での Excel ファイルの開き方、図 2: Excel 読み取り Excel の読み取り

セル範囲のデータを読み取るには、指定された範囲を反復処理するループを使用します。

// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Iterate through a range of cells and display their address and text content
For Each cell In sheet("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

セル範囲 A2:A6 の各値にアクセスしてコンソールに印刷します。

C# での Excel ファイルの開き方、図 3: セル範囲の読み取り セル範囲の読み取り

より詳細な読み取りおよび書き込みの例については、C# での Excel 読み取りチュートリアルをご覧ください。

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

IronXL は新しいワークブックを作成して、データを保存および取得することもできます。

1 行のコードで新しい Excel ファイルを作成できます:

// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
' Create a new workbook with the XLSX format
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

次に、ワークシートを作成し、データを追加します。

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

// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
' Create a worksheet named "GDPByCountry" in the workbook
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
$vbLabelText   $csharpLabel

「GDPByCountry」と名付けられたワークシートをワークブックに追加し、セル値を追加できるようにします。

特定のセルに値を設定するには、以下のコードを使用します:

// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
' Set the value of cell A1 to "Example"
workSheet("A1").Value = "Example"
$vbLabelText   $csharpLabel

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

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

概要

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

IronXL provides a comprehensive solution for Excel-related tasks programmatically, including formula calculation, string sorting, trimming, finding and replacing, merging and unmerging, saving files, and more. また、セルデータ形式を設定することもできます。

IronXL is available for a free 30-day trial and can be licensed for commercial use. IronXL の Lite パッケージは、$799 から始まります。

よくある質問

Interopを使用せずにC#でExcelファイルを開くにはどうすればいいですか?

IronXLライブラリを利用することで、Interopを使用せずにC#でExcelファイルを開くことができます。WorkBook.Loadメソッドを使用して、ExcelファイルをWorkBookインスタンスにロードし、ファイル内のデータにアクセスして操作できます。

このC# Excelライブラリと互換性のあるファイル形式は何ですか?

IronXLは、XLS、XLSX、CSV、TSVを含むさまざまなExcelファイル形式をサポートします。これにより、開発者はこれらの形式をC#アプリケーション内で柔軟に開く、読み取る、書き込むことができます。

このライブラリを使用してC#でExcelファイルを編集できますか?

はい、IronXLを使用してExcelファイルを編集できます。ワークブックを読み込んだ後、データを変更したり、新しいワークシートを追加したりして、そのままファイルに保存したり、さまざまな形式でエクスポートしたりできます。

このライブラリをC#プロジェクトで使用するためにはどのようにインストールするのですか?

C#プロジェクトにIronXLをインストールするには、Visual StudioのNuGetパッケージマネージャを使用してライブラリを追加します。あるいは、.NET Excel DLLをダウンロードしてプロジェクトに参照を追加することもできます。

このライブラリを使用してExcelファイルを暗号化することは可能ですか?

はい、IronXLを使用してExcelファイルを暗号化および復号できます。ファイル操作中の機密データを保護するために、パスワードでExcelドキュメントを保護できます。

このライブラリはExcelシートの数式の再計算をサポートしていますか?

IronXLは自動数式再計算をサポートしており、データの変更があれば数式をExcelのように自動的に更新します。

このライブラリを使用してExcelワークシートの特定のセル値を読み取るにはどうすればよいですか?

IronXLを使用して特定のセル値を読み取るには、Excel表記を使用してセルを参照します。例えば、sheet["A1"].StringValueは、セルA1の文字列値を取得します。

このライブラリは異なるオペレーティングシステムで使用できますか?

はい、IronXLはWindows、Linux、macOSを含む複数のオペレーティングシステムと互換性があります。また、Docker、Azure、AWS環境での展開をサポートしています。

このライブラリを使用することのMS Office Interopに対する利点は何ですか?

Excelをシステムにインストールする必要がないこと、サーバー環境での優れたパフォーマンス、現代的な.NETアプリケーションとの相性の良さなど、IronXLはMS Office Interopよりも多くの利点を提供します。

このC# Excelライブラリの無料トライアルはありますか?

はい、IronXLは30日間の無料トライアルを提供しており、その機能と能力を試してからプロジェクトの商用ライセンスを決定できます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。