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

C#でMicrosoft Officeを使用せずにExcelファイルを操作する

IronXLの紹介

IronXL library serves as an alternative to traditional Excel Interopの代替として機能し、Excelファイルを扱うためのより効率的で合理的なアプローチを提供します。

これは、.NETアプリケーションでMicrosoft Excelデータを管理する開発者にとって便利なExcel APIであり、Microsoft Officeとは独立して機能します。XLSX、XLS、CSVなどのさまざまな形式でExcelファイルを管理するための簡単な方法を提供します。

なぜIronXLを選ぶのか?

サーバーにMS Officeをインストールする必要がないため、IronXLはさまざまなサーバー環境で最適なソリューションとなります。

これは、ライセンスまたはサーバーパフォーマンスの制約のためにMicrosoft Officeをインストールすることができないサーバー環境でのソリューションとして最適なものです。

IronXLの主な機能

IronXLの主な機能は以下の通りです:

  • Excelファイルの読み書き: IronXLはExcelファイルを作成し、操作できます。 古典的なXLSファイルと最新のXLSXファイル形式の両方をサポートし、異なるバージョンのExcelとの互換性を確保します。
  • データのエクスポート: IronXLはExcelファイルから他の形式へのデータのエクスポートを、XMLファイルやCSVなどの形式で効率的に行えます。
  • .NET CoreおよびFrameworkのサポート: IronXLは.NET Coreと.NET Frameworkの両方でシームレスに動作し、さまざまな開発環境における柔軟な選択肢になります。
  • 使いやすさ: IronXLを使用することで、開発者はわずか数行のコードで複雑なExcel操作を実行でき、生産性と効率を向上させます。

インストールとセットアップ

IronXLを使用するには、NuGetパッケージをインストールする必要があります。 以下の手順で実行できます:

NuGetパッケージマネージャーを使用: NuGet Packages ManagerでIronXLを検索し、インストールします。

C# Excel ライブラリ Without Office (初心者向けチュートリアル): 図1

パッケージマネージャーコンソールを使用: Visual StudioのパッケージマネージャーコンソールでInstall-Package IronXL.Excelコマンドを実行します。

IronXLの使用方法

IronXLは、C#開発者がExcelファイルを効率的に操作する能力を提供します。 このセクションでは、IronXLを使用して実行できるさまざまな操作について詳しく説明し、コード例を提供します。

新しいExcelファイルの作成

データ操作や報告において新しいExcelファイルを作成することは一般的な作業です。 IronXLを使用すると、数行のコードでExcelファイルを簡単に作成し、ワークシートを追加し、データを入力することができます。

次のコードは、IronXLを使用してExcelファイルを作成する方法を示しています:

using IronXL;

// Initialize a new Workbook
var workbook = new WorkBook();
// Add a new Worksheet named "Sales Data"
var worksheet = workbook.CreateWorkSheet("Sales Data");

// Populate the Worksheet with data
worksheet["A1"].Value = "Month";
worksheet["B1"].Value = "Sales";
worksheet["A2"].Value = "January";
worksheet["B2"].Value = 5000;
worksheet["A3"].Value = "February";
worksheet["B3"].Value = 6000;

// Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx");
using IronXL;

// Initialize a new Workbook
var workbook = new WorkBook();
// Add a new Worksheet named "Sales Data"
var worksheet = workbook.CreateWorkSheet("Sales Data");

// Populate the Worksheet with data
worksheet["A1"].Value = "Month";
worksheet["B1"].Value = "Sales";
worksheet["A2"].Value = "January";
worksheet["B2"].Value = 5000;
worksheet["A3"].Value = "February";
worksheet["B3"].Value = 6000;

// Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx");
Imports IronXL

' Initialize a new Workbook
Private workbook = New WorkBook()
' Add a new Worksheet named "Sales Data"
Private worksheet = workbook.CreateWorkSheet("Sales Data")

' Populate the Worksheet with data
Private worksheet("A1").Value = "Month"
Private worksheet("B1").Value = "Sales"
Private worksheet("A2").Value = "January"
Private worksheet("B2").Value = 5000
Private worksheet("A3").Value = "February"
Private worksheet("B3").Value = 6000

' Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx")
$vbLabelText   $csharpLabel

C# Excel ライブラリ Without Office (初心者向けチュートリアル): 図2

このコードは、ブックを作成し、ワークシートを追加し、販売データでそれを収集してExcelファイルとして保存します。

IronXLは標準のExcel表記をサポートしており、開発者は'A1'のようなセルを参照してデータを読み取ったり操作したりすることができます。

Excelファイルの読み取り

Excelファイルから情報を読み取り抽出することは、データ処理アプリケーションに不可欠です。 IronXLを使用すると、既存のExcelファイルを開いてその内容を読み取ることができます。Excel interop は不要です。

以下にコード例を示します:

using IronXL;

// Load an existing Excel file
var workbook = WorkBook.Load("FinancialData.xlsx");

// Access a specific worksheet by name
var worksheet = workbook.GetWorkSheet("Quarterly Report");

// Read values from specific cells
string quarter = worksheet["A2"].StringValue;
double revenue = worksheet["B2"].DoubleValue;
double expenses = worksheet["C2"].DoubleValue;

// You can also iterate over rows and columns if needed
foreach (var row in worksheet.Rows)
{
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
using IronXL;

// Load an existing Excel file
var workbook = WorkBook.Load("FinancialData.xlsx");

// Access a specific worksheet by name
var worksheet = workbook.GetWorkSheet("Quarterly Report");

// Read values from specific cells
string quarter = worksheet["A2"].StringValue;
double revenue = worksheet["B2"].DoubleValue;
double expenses = worksheet["C2"].DoubleValue;

// You can also iterate over rows and columns if needed
foreach (var row in worksheet.Rows)
{
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
Imports IronXL

' Load an existing Excel file
Private workbook = WorkBook.Load("FinancialData.xlsx")

' Access a specific worksheet by name
Private worksheet = workbook.GetWorkSheet("Quarterly Report")

' Read values from specific cells
Private quarter As String = worksheet("A2").StringValue
Private revenue As Double = worksheet("B2").DoubleValue
Private expenses As Double = worksheet("C2").DoubleValue

' You can also iterate over rows and columns if needed
For Each row In worksheet.Rows
	For Each cell In row
		Console.WriteLine(cell.Value)
	Next cell
Next row
$vbLabelText   $csharpLabel

このコードは、Excelファイルをロードし、特定のワークシートにアクセスし、セルの値を読み取り、行や列を反復処理する方法を示しています。

Excelファイルへのデータ書き込み

Excelファイルを変更することは頻繁に要求されます。 IronXLは、容易にExcelファイルにデータを書き込み、更新することができます。

次の例では、Excelファイルにデータを追加し、更新する方法を示しています:

using IronXL;

// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeData.xlsx");
var worksheet = workbook.DefaultWorkSheet;

// Adding new data to cells
worksheet["A4"].Value = "John Doe";
worksheet["B4"].Value = "Sales";
worksheet["C4"].Value = 45000;

// Updating existing data
worksheet["C2"].Value = 50000; // Update salary of an existing employee

// Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx");
using IronXL;

// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeData.xlsx");
var worksheet = workbook.DefaultWorkSheet;

// Adding new data to cells
worksheet["A4"].Value = "John Doe";
worksheet["B4"].Value = "Sales";
worksheet["C4"].Value = 45000;

// Updating existing data
worksheet["C2"].Value = 50000; // Update salary of an existing employee

// Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx");
Imports IronXL

' Load an existing Excel file
Private workbook = WorkBook.Load("EmployeeData.xlsx")
Private worksheet = workbook.DefaultWorkSheet

' Adding new data to cells
Private worksheet("A4").Value = "John Doe"
Private worksheet("B4").Value = "Sales"
Private worksheet("C4").Value = 45000

' Updating existing data
Private worksheet("C2").Value = 50000 ' Update salary of an existing employee

' Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx")
$vbLabelText   $csharpLabel

この例では、Excelファイルに新しいデータが追加され、既存のデータが更新され、IronXLの柔軟なデータ操作の方法を示しています。

C# Excel ライブラリ Without Office (初心者向けチュートリアル): 図3

Excelデータのエクスポート

Excelファイルから他の形式へのデータエクスポートは、データ分析や報告に必要です。 IronXLはこのプロセスを簡素化します。

以下にExcelファイルからCSV形式にデータをエクスポートする方法を示します:

using IronXL;

// Load the Excel file
var workbook = WorkBook.Load("ProjectData.xlsx");

// Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv");

// You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json");
using IronXL;

// Load the Excel file
var workbook = WorkBook.Load("ProjectData.xlsx");

// Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv");

// You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json");
Imports IronXL

' Load the Excel file
Private workbook = WorkBook.Load("ProjectData.xlsx")

' Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv")

' You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json")
$vbLabelText   $csharpLabel

このコードスニペットは、ExcelファイルをCSVおよびJSON形式に変換する方法を示し、IronXLが異なるファイル形式を扱う際の多様性を強調しています。

IronXLの高度な機能

IronXLは基本的なExcel操作にとどまらず、 複雑なデータ操作やフォーマットのニーズに対応した高度な機能を備えています。 これらの機能についてさらに詳しく探求しましょう。

データテーブルの操作

Excelシートと.NETデータテーブル間の変換は、IronXLのデータ処理の柔軟性を高める機能です。 この機能は、バルクデータ操作やデータベースとのインターフェースがあるシナリオで特に有用です。

using IronXL;
using System.Data;

// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeRecords.xlsx");
var worksheet = workbook.DefaultWorkSheet;

// Convert the Worksheet to a DataTable
DataTable dataTable = worksheet.ToDataTable(true);
using IronXL;
using System.Data;

// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeRecords.xlsx");
var worksheet = workbook.DefaultWorkSheet;

// Convert the Worksheet to a DataTable
DataTable dataTable = worksheet.ToDataTable(true);
Imports IronXL
Imports System.Data

' Load an existing Excel file
Private workbook = WorkBook.Load("EmployeeRecords.xlsx")
Private worksheet = workbook.DefaultWorkSheet

' Convert the Worksheet to a DataTable
Private dataTable As DataTable = worksheet.ToDataTable(True)
$vbLabelText   $csharpLabel

大規模Excelファイルのパフォーマンス最適化

巨大なExcelファイルを効率的に処理することは、IronXLのハイライト機能であり、大量のデータを扱うエンタープライズレベルのアプリケーションに適しています。

IronXLは、メモリ使用量を最小限に抑え、データハンドリングアルゴリズムの効率化およびワークシートやセルの選択的読み取りによりシステムリソースの負担を減らし、パフォーマンスを最適化して設計されています。

Excelファイル形式の処理

IronXLはさまざまなExcelファイル形式をサポートし、異なるバージョンのExcelおよびその他のスプレッドシートソフトウェアとの互換性を確保します。

この例は、IronXLがXLSX、XLS、およびCSV形式でドキュメントを作成し保存する方法を示し、データの保存と共有方法の柔軟性を提供します。

using IronXL;

// Creating a workbook
var workbook = new WorkBook();

// You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx"); // XLSX format
workbook.SaveAs("ExcelDocument.xls");  // XLS format
workbook.SaveAsCsv("ExcelDocument.csv");  // CSV format
using IronXL;

// Creating a workbook
var workbook = new WorkBook();

// You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx"); // XLSX format
workbook.SaveAs("ExcelDocument.xls");  // XLS format
workbook.SaveAsCsv("ExcelDocument.csv");  // CSV format
Imports IronXL

' Creating a workbook
Private workbook = New WorkBook()

' You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx") ' XLSX format
workbook.SaveAs("ExcelDocument.xls") ' XLS format
workbook.SaveAsCsv("ExcelDocument.csv") ' CSV format
$vbLabelText   $csharpLabel

C# Excel ライブラリ Without Office (初心者向けチュートリアル): 図4

結論

IronXLは、Microsoft Officeを必要とせずにExcelファイルを操作するための強力なC#ラ≃ィブラリです。Excelファイルの読み取り、書き込み、エクスポートする能力に加え、その使いやすさと.NET Coreおよび.NET Frameworkの両方をサポートすることで、アプリケーションでExcelデータを扱う開発者にとって優れた選択肢になります。

新しいExcelドキュメントの作成、既存ファイルの処理、または異なる形式へのデータエクスポートのどれであっても、IronXLは堅牢で効率的なソリューションを提供します。

より詳しいドキュメント、コード例、サポートについては、IronXL公式ウェブサイトを訪問するか、GitHubリポジトリをチェックしてください。

IronXLを使用すると、C#でのExcelファイル管理が合理化され、煩わしさがなくなります。 IronXLは、購入前にその機能を探索するために無料トライアルを提供しています。

このトライアル期間は、ライブラリが.NETアプリケーション内でのExcelファイル操作の特定のニーズを満たすことを保証するために、開発者がその環境でライブラリをテストすることを可能にします。 トライアル終了後、IronXLのライセンスは$799で始まり、すべての高度な機能と機能へのフルアクセスを提供します。

After the trial, licenses for IronXL start at $799, providing full access to all its advanced features and functionalities.

よくある質問

IronXL は Microsoft Office なしでどのように動作しますか?

IronXL は .NET アプリケーションで Microsoft Office を必要とせずに Excel ファイルを管理するように設計されています。開発者が Office Interop に依存せずに Excel 操作を行うことを可能にするスリム化された API を提供します。

サーバー環境での Excel 操作に IronXL を使用する利点は何ですか?

IronXLはMicrosoft Officeの必要がなく、ライセンスまたはパフォーマンスの問題を回避できるため、サーバー環境に最適です。Officeをインストールできない環境でもシームレスなExcelファイル操作を可能にします。

IronXL を使用して Excel ファイルを読み書きするにはどうすればよいですか?

IronXL では、新しい Workbook を初期化し、Worksheet オブジェクトにアクセスし、Excel セルにデータを読み書きするためのメソッドを使用して、Excel ファイルを読み書きできます。

IronXL がサポートする Excel ファイル形式はどれですか?

IronXL は、XLSX、XLS、CSV を含むさまざまな Excel ファイル形式をサポートします。また、データ互換性を向上させるために、XML や JSON 形式へのデータエクスポートも許可します。

自分の .NET プロジェクトに IronXL をインストールするにはどうすればよいですか?

NuGet パッケージマネージャーで「IronXL」を検索するか、パッケージマネージャーコンソールで Install-Package IronXL.Excel コマンドを実行して、IronXL をインストールできます。

IronXL は .NET Core と .NET Framework の両方に対応していますか?

はい、IronXL は .NET Core と .NET Framework の両方に対応しているため、さまざまな開発環境に柔軟に対応します。

IronXLは大規模なExcelファイルを効率的に処理できますか?

IronXL は大規模な Excel ファイルを効率的に処理するために最適化されており、メモリ使用量を最小限に抑え、データの選択的な読み書きのためのメソッドを提供しています。

IronXL を使用して Excel データを他の形式にエクスポートするにはどうすればよいですか?

IronXL を使用すると、Excel データを CSV や JSON のような形式にエクスポートでき、異なるプラットフォーム間でのデータ分析やレポートを容易にします。

Excel データ操作における IronXL の提供する高度な機能は何ですか?

IronXL は、Excel シートを .NET データテーブルに変換する機能や、大規模なデータセットに対する効率的なデータ処理アルゴリズムを使用したパフォーマンスの最適化など、高度な機能を提供します。

IronXLの無料トライアルはありますか?

はい、IronXL は新規ユーザー向けに無料トライアルを提供しています。これにより、完全な機能にアクセスするライセンスを購入する前に、その機能を試すことができます。

Curtis Chau
テクニカルライター

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

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