IRONSOFTWAREHOME
IRONXLの使用

How to Open Excel Files in C#

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

IronXLを使用すると、C#開発者はMicrosoft Officeをインストールすることなく、Excelファイルを開いて読み込み、操作することができます。 単にsheet["A1"]のような直感的なシンタックスでセルの値を読み取ります。

このチュートリアルでは、C# プロジェクトでIronXLを使用して Excel ファイルを開いて読み込む方法を解説し、ジュニア開発者向けにExcel データの操作に関する包括的な例とベストプラクティスを提供します。

IronXL Excelライブラリとは何ですか?

IronXLは、使いやすさ、正確性、速度を最優先に設計された.NETライブラリです。 これは、MS Office Interop を必要とせずに Excel ファイルを効率的に開いたり、読み込んだり、作成したり、編集したりするのに役立ち、 Interop を使用せずに C# で Excel を操作したい開発者にとって実用的な選択肢となります。

IronXLは、すべて for .NET Frameworkに加え、 LinuxmacOSDockerAzureAWSと互換性があります。 これを使えば、コンソールアプリケーション、Webアプリケーション、デスクトップアプリケーション(最新のWebアプリ向けのBlazor.NET MAUIなど)を作成できます。XLSやXLSXファイル、XSLTやXLSM、CSV、TSVなど、さまざまなワークブック形式をサポートしています。

IronXLの主な特徴は何ですか?

LoadSpreadsheetsを使用して、XLS/XLSX/CSV/TSV 形式のデータを開いて読み込み、検索します。 -保存とエクスポートを使用して、 Excel ワークシートを複数の形式にエクスポートします。 -安全な機能を使用して、パスワードでファイルを暗号化および復号化します。

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

始める前に必要なものは何ですか?

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

  1. Visual Studio - C# .NETアプリケーション開発のための公式IDE。 Visual Studio はMicrosoft のウェブサイトからダウンロードしてインストールできます。 また、JetBrains ReSharper & Riderを使用することができます。 詳しい設定手順については、"はじめに概要"を参照してください。
  2. 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;

特定のExcel形式や高度な機能を扱うには、以下のものも必要になる場合があります。

using IronXL.Formatting;  // For cell styling
using IronXL.Drawing;     // For images and charts
using System.Data;        // For DataSet/DataTable operations

既存のExcelファイルを読み込むにはどうすればよいですか?

Excel ファイルは、ワークブックとも呼ばれ、各シートにセル値が含まれる複数のワークシートで構成されています。 Excelファイルを開いて読み取るには、WorkBookクラスのLoadメソッドを使用して読み込みます。 LoadSpreadsheets機能は、さまざまなフォーマットに対応しています。

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

// You can also load from streams for web applications
// using (var stream = File.OpenRead("test.xlsx"))
// {
//     WorkBook workbook = WorkBook.Load(stream);
// }

これにより、ワークブックがWorkBookインスタンスとして初期化されます。 特定のWorkSheetsコレクションから取得します。 ワークシートの管理ガイドには、ワークシートの操作に関する詳細情報が記載されています。

// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();

// Alternative ways to access worksheets
WorkSheet sheetByIndex = workbook.WorkSheets[0];  // By index
WorkSheet sheetByName = workbook.GetWorkSheet("Sheet1");  // By name

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

名前、役職、給与の列がある従業員データを示すExcelスプレッドシートで、ヘッダおよびセルの境界がフォーマットされています Excel ファイル

Excelのセルからデータを読み取るにはどうすればよいですか?

Excelファイルが開かれたら、データの読み込み準備が整います。 IronXL を使用して C# で Excel ファイルからデータを読み取るのは簡単です。 範囲選択機能を使用してセル参照を指定することで、セルの値を読み取ることができます。

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

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

// You can also retrieve values in different formats
string textValue = sheet["C2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
DateTime dateValue = sheet["C2"].DateTimeValue;
bool boolValue = sheet["C2"].BoolValue;

// Display the value in the console
Console.WriteLine($"Cell C2 contains: {cellValue}");

// Check if cell is empty before reading
if (!sheet["C2"].IsEmpty)
{
    Console.WriteLine($"Cell value: {sheet["C2"].Value}");
}

出力は以下の通りです。

ExcelのセルC2から値 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);
}

// Read an entire column
foreach (var cell in sheet.GetColumn(0))  // Column A
{
    if (!cell.IsEmpty)
    {
        Console.WriteLine($"Column A value: {cell.Text}");
    }
}

// Read an entire row
foreach (var cell in sheet.GetRow(1))  // Row 2
{
    Console.WriteLine($"Row 2 value: {cell.Text}");
}

セル範囲A2:A6の各値がアクセスされ、コンソールに印刷されます。

Excelの範囲A2:A6を読み取った出力を示す構文強調表示付きのMicrosoft Visual Studioデバッグコンソールで、従業員の名前ジョン、サラ、ピーター、メソッド、キャサリンを表示 セル範囲の読み取り

より詳細な読み書きの例については、 C# による Excel の読み取りチュートリアルを参照してください。 Excelデータをデータテーブルに変換することで、より簡単に操作することもできます。

// Convert worksheet to DataTable for easier data manipulation
DataTable dataTable = sheet.ToDataTable(true);  // true = first row contains headers

// Access data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
    Console.WriteLine($"Employee: {row["Name"]}, Salary: {row["Salary"]}");
}

新しいExcelファイルを作成するにはどうすればよいですか?

IronXLは、データの保存と検索のための新しいワークブックの作成も容易にします。 スプレッドシート作成ガイドには、包括的な例が掲載されています。

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

// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);

// Alternative: Create with XLS format for compatibility
WorkBook xlsWorkBook = new WorkBook(ExcelFileFormat.XLS);

// Set workbook metadata
workBook.Metadata.Title = "Employee Data";
workBook.Metadata.Author = "Your Name";
workBook.Metadata.Keywords = "employees, salary, data";

次に、ワークシートを作成し、データを追加します。 より高度な作成パターンについては、 "新しい Excel ファイルを作成する"を参照してください。

ワークブックにワークシートを追加するにはどうすればよいですか?

// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");

// Create multiple worksheets at once
WorkSheet sheet2 = workBook.CreateWorkSheet("PopulationData");
WorkSheet sheet3 = workBook.CreateWorkSheet("Summary");

// Copy an existing worksheet
WorkSheet copiedSheet = workSheet.CopySheet("GDPByCountryCopy");

"GDPByCountry"と名付けられたワークシートをワークブックに追加し、セル値を追加できるようにします。 ワークシートの管理方法ワークシートのコピー方法について詳しくはこちらをご覧ください。

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

// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";

// Add different types of data
workSheet["A2"].Value = 12345;  // Integer
workSheet["A3"].Value = 99.99m;  // Decimal
workSheet["A4"].Value = DateTime.Now;  // Date
workSheet["A5"].Value = true;  // Boolean

// Add formulas
workSheet["B1"].Formula = "=SUM(A2:A3)";

// Set multiple cells at once using a range
workSheet["C1:C5"].Value = "Bulk Value";

// Save the workbook
workBook.SaveAs("output.xlsx");

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

C#を使用してプログラム的に追加された セルに値を追加

さまざまなExcelフォーマットの操作

IronXLは複数のExcel形式に対応しています。 さまざまなファイルタイプの処理方法は次のとおりです。

// Convert between formats
WorkBook workbook = WorkBook.Load("data.csv");
workbook.SaveAs("data.xlsx");  // Convert CSV to XLSX

// Export to different formats
workbook.SaveAsCsv("output.csv", ";");  // CSV with semicolon delimiter
workbook.SaveAsJson("output.json");     // Export as JSON
workbook.SaveAsXml("output.xml");       // Export as XML

スプレッドシートファイルの形式変換や、 XLSXをCSV、JSON、XMLに変換する方法について詳しくはこちらをご覧ください。

エラー処理とベストプラクティス

Excelファイルを扱う際は、適切なエラー処理を実装してください。

try
{
    WorkBook workbook = WorkBook.Load("test.xlsx");
    WorkSheet sheet = workbook.GetWorkSheet("Sheet1");
    
    // Check if sheet exists
    if (sheet == null)
    {
        Console.WriteLine("Worksheet not found!");
        return;
    }
    
    // Process data
    var value = sheet["A1"].Value;
}
catch (Exception ex)
{
    Console.WriteLine($"Error reading Excel file: {ex.Message}");
}

本番環境で使用するアプリケーションでは、ログ記録の設定と適切なエラー処理パターンの実装を検討してください。

何を学んだか?

この記事では、C# で IronXL を使用して XLS や XLSX などの Excel ファイルを開いて読み取る方法を示しています。 IronXLはExcel関連のタスクを実行する際にシステムにMicrosoft Excelがインストールされている必要がないため、 DockerのデプロイAzure Functionsに最適です。

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

高度な機能については、グループ化とグループ解除名前付き範囲ハイパーリンクExcel ファイルの保護について調べてみてください。 完全なAPIリファレンスには、すべての機能に関する詳細なドキュメントが記載されています。

IronXLは30日間の無料トライアルが利用可能で、商用利用のためのライセンスも取得できます。 IronXLのLiteパッケージは$999から始まります。 その他のリソースについては、チュートリアルセクションを参照するか、一般的なシナリオにおけるコード例をご覧ください。

Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。