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

IronXLを使用してExcelファイルを操作する方法:.NET Excelライブラリ

この記事では、最も人気のあるライブラリの1つであるIronXL、Excelライブラリを使用して、.NETテクノロジーでプログラムでMicrosoft Excelドキュメントとどのようにやり取りするかを比較・対比し、Excelワークシートを読み取る、Excelテーブルを書く、スプレッドシートファイルをCSVにエクスポートするためのExcelスプレッドシート環境を作成します。

IronXL - 高速Excelライブラリの特徴

Microsoft Excelで作成されたドキュメントは、C# IronXL、.NET Excelライブラリを使用してCSVファイルに読み込み、変換できます。 IronXLは、Microsoft OfficeやMicrosoft.Office.Interop.Excel、またはExcel Interopをインストールする必要のないスタンドアロンの.NET Excelソフトウェアライブラリです。 それは複数のスプレッドシート形式を読み取ることができ、単なる静的ライブラリではありません。

IronXLのシンプルなC# APIは、.NET環境で複数のワークシートを読み取り、修正し、Excelスプレッドシートを生成するのを容易にします。 それは完全にXamarin、Linux、macOS、Azure、.NET Coreアプリケーション、および.NET Frameworkをサポートします。

  • IronXLは、.NET Coreと.NET Frameworkの両方と互換性のあるC#ライブラリで、Excelスプレッドシートに最も適したものです。
  • IronXLは、Webアプリ、Windows Forms、コンソールを含むほぼすべての.NET Frameworkをサポートしています。
  • IronXLは、Linux、macOS、およびWindowsの各オペレーティングシステムで使用できます。
  • IronXLはExcelファイルへの迅速かつ容易なアクセスを提供します。
  • IronXLは、XLSX、CSV、XLS、XLST、TSV、XLSMなど、幅広いExcelファイルタイプを読み取ることができます。 データテーブルとデータセットをインポート、更新、エクスポートする機能は、ライブラリの多くのオプションのほんの一部です。
  • Excelスプレッドシートに対してIronXLは計算を作成することができます。
  • IronXLはテキスト、整数、日付、通貨、数式、およびパーセンテージを含むExcel列の多くのデータ型をサポートします。
  • IronXLは、日付、通貨、パーセンテージ、テキスト、数字、数式などの形式での複数の値を処理することができます

.NET Core 6プロジェクトの作成

この記事の次のセクションでは、IronXLライブラリを使用してExcelファイルを作成/読み取るのがいかに簡単かを示します。

ステップ1: Excelファイルを作成する新しい試みを開始します。

Visual Studioを起動した後、「ファイル」メニューから「新しいプロジェクト」を選択します。

表示されるダイアログボックスで、「コンソールアプリ」.NETプロジェクトテンプレートを選択して、「次へ」をクリックします。

.NET Excel Library (開発者チュートリアル)、図1:新しいプロジェクト 新しいプロジェクト

新しいプロジェクトの場所を「場所」フィールドに入力したら、プロジェクトに好きな名前を入力できます。 次へボタンをクリックして続行します。

.NET Excel Library (開発者チュートリアル)、図2:プロジェクト構成 プロジェクト設定

フレームワークのドロップダウンオプションを使用して、.NET Frameworkを選択できます。 ここでは、長期サポートバージョンの.NET 6.0を使用しています。 その後、作成ボタンを押します。

.NET Excel Library (開発者チュートリアル)、図3:フレームワークの選択 フレームワークの選択

次のソリューションに必要なIronXLライブラリを取得します。 これを行うには、以下のコマンドをNuGet Package Manager Consoleに入力します。

Install-Package IronXL.Excel

.NET Excel Library (開発者チュートリアル)、図4:IronXLのインストール IronXL インストール

別のオプションとして、NuGetパッケージマネージャーを使用して「IronXL」というパッケージを検索することもできます。 次に、IronXLに関連するすべてのNuGetパッケージのリストからダウンロードしたいパッケージを選択します。

.NET Excel Library (開発者チュートリアル)、図5:NuGetパッケージマネージャー NuGetパッケージマネージャー

IronXLを使用してExcelを作成

IronXLを使用して、数行のコードで新しいExcelファイルを作成できます! IronXLを使用すると、以下のコードサンプルに示されるように、古いExcel形式のXLSファイルと、より現在の形式のXLSXファイルの作成が可能です。

using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
Imports IronXL

Public Class IronXLExample
	Public Shared Sub Main(ByVal args() As String)
		' Create a new workbook
		Dim workbook As WorkBook = WorkBook.Create()

		' Create a new worksheet named "Sheet1"
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")

		' Set the value of cell A1
		worksheet("A1").Value = "test"

		' Save the workbook to a file
		workbook.SaveAs("sample1.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

上記のコードは、新しいExcelワークブックとワークシートを作成するためのIronXLパッケージの使用方法を示しています。 WorkBook.Create()メソッドは新しいワークブックを作成し、その後CreateWorkSheet("Sheet1")関数は指定された名前のワークシートタブを作成します。 変更はSaveAsメソッドを使用して指定した場所に保存されます。

.NET Excel Library (開発者チュートリアル)、図6:Excel出力 Excel出力

Excelファイルの作成方法については、この.NETで作成するチュートリアルを確認してください。

Excelからデータを読み取り、Excelファイルにエクスポート

XLSXまたはXLS形式にデータをエクスポートするには、数行のコードで済みます。 以下は、Excelファイルからデータを単純な表形式にエクスポートするのに使用できるソースコードの例です:

using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
Imports IronXL

Public Class ExcelReadExportExample
	Public Shared Sub Main(ByVal args() As String)
		' Load an existing Excel file
		Dim workbook = WorkBook.LoadExcel("Demo file.xlsx")

		' Get a worksheet from the workbook
		Dim workSheet As WorkSheet = workbook.GetWorkSheet("Sheet1")

		' Read the value of cell A1
		Dim addressVal As String = workSheet("A1").ToString()
		Console.WriteLine(addressVal)

		' Modify the value of cell A2
		workSheet("A2").Value = "test"

		' Save the workbook in multiple formats
		workbook.SaveAs("export.xlsx")
		' Or save as XLS
		workbook.SaveAs("export.xls")
		' Or save the specific worksheet as an XLS file
		workbook.WorkSheets(0).SaveAs("export.xls")
	End Sub
End Class
$vbLabelText   $csharpLabel

前記の例では、ファイル名とパスを引数として取るLoadExcelメソッドを使用して、既存のExcelファイルがロードされています。 その後、ファイルはWorkBookオブジェクトにインポートされます。 ワークシートは、シート名を指定することでGetWorkSheet関数を使用してロードされます。 セルの値は、そのアドレスを指定することによって読み取ることができます。 このコードもワークシートの値を変更し、SaveAsメソッドを使用して、異なるファイル形式でワークブックを保存する方法を示しています。

.NET Excel Library (開発者チュートリアル)、図7:コンソール出力 コンソール出力

ワークシートは、名前またはインデックス値で参照することも可能で、Excelスプレッドシートから別のファイルにデータをエクスポートできます。詳細については、Excelファイルをエクスポートする方法を学ぶための別のチュートリアルをご覧ください。

結論

新しいファイルの作成から正確な計算の実行まで、IronXLはすべてのExcelプロジェクトに対応しています。 今日は、IronXLがExcelファイルを作成、読み取り、エクスポートするためにどのように利用できるかを詳しく見て、ほんの数行のコードでこれらのプロセスを完全に制御できることを確認しました。

Microsoft Excelドキュメントに関するすべてのプログラム可能なアクティビティに対して、IronXLは包括的なソリューションを提供します。 It is possible to perform formula calculations, sort strings or numbers, cut and add data, search and replace, merge and unmerge cells, visualize data, and save files. それを使って、セルデータ型の設定やスプレッドシートデータの検証も可能です。 CSVファイルの読み書きにより、Excelデータとのやり取りが可能です。

IronXLは起動時に$799かかりますが、顧客は改良と製品サポートのために1年間のメンバーシップ料金を支払うことを選択できます。 IronXLは、無制限の再配布を可能にする追加のセキュリティ料金を課します。 価格の詳細については、このライセンスページをご覧ください。

よくある質問

Interopなしで.NETでExcelファイルを作成および読み取るにはどうすればよいですか?

IronXLを使用すると、Microsoft Office Interopに依存せずに.NETでExcelファイルを簡単に作成および読み取ることができます。新しいExcelファイルを作成するにはWorkBook.Create()メソッドを、既存のファイルを読み取るにはLoadExcelを使います。

スタンドアロンの.NET Excelライブラリを使用する利点は何ですか?

Microsoft OfficeやInteropのインストールを必要としないIronXLのようなスタンドアロンの.NET Excelライブラリは、Excelファイルの読み書きやエクスポートをWindows、macOS、Linuxなどのさまざまなプラットフォームでシームレスに行うことができます。

プログラムでExcelファイルをCSV形式に変換するにはどうすればよいですか?

IronXLは、ExcelファイルをCSV形式に簡単に変換する機能を提供します。ExcelワークブックをCSVファイル形式にエクスポートするにはSaveAsメソッドを使用します。

Excelファイルを扱う際に、どのプラットフォームがIronXLと互換性がありますか?

IronXLは、Xamarin、Linux、macOS、Azure、.NET Core、.NET Frameworkを含む複数のプラットフォームと互換性があり、異なる環境で作業する開発者に柔軟性を提供します。

IronXLを使用してExcelカラム内で処理できるデータの種類は何ですか?

IronXLは、テキスト、整数、日付、通貨、数式、パーセンテージなど、Excelカラム内のさまざまなデータタイプをサポートし、スプレッドシート内で多用途なデータ処理を可能にします。

Excelスプレッドシートで.NETライブラリを使用して計算を実行する方法は?

IronXLを使用すると、自動計算によってExcelスプレッドシート内でプログラム的に数式を利用して計算を行うことができます。これにより、Excelファイル内で複雑な計算やデータ処理タスクを自動化することができます。

Excelファイル内の複数のワークシートを.NETライブラリで操作することは可能ですか?

はい、IronXLを使用すると、Excelファイル内の複数のワークシートを操作できます。APIを使用して、異なるワークシートにわたってデータを簡単にアクセス、修正、エクスポートすることができます。

IronXLを.NET Coreプロジェクトに設定するにはどうすればよいですか?

IronXLを.NET Coreプロジェクトに設定するには、NuGetパッケージマネージャーを介してインストールできます。パッケージマネージャーコンソールでInstall-Package IronXL.Excelコマンドを使用するか、またはVisual StudioのNuGetパッケージマネージャーから追加します。

IronXLのライセンスと価格オプションにはどのようなものがありますか?

IronXLは、改善とサポートのための1年間のメンバーシップ料金を含むさまざまなライセンスオプションを提供しています。セキュリティ機能や制限のない再配布権のためには追加のコストが発生する場合があります。

Curtis Chau
テクニカルライター

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

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