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

Excel をインストールせずに C# で Open Office Excel ファイルを読み取る方法

適切なライブラリを使用すれば、C# で OpenDocument Spreadsheet (ODS) ファイルや Excel ファイルを読み込み、処理するのは簡単です。 IronXLを使用すると、単一のメソッド呼び出しで任意の XLS、XLSX、ODS、または CSV ファイルを WorkBook オブジェクトに読み込むことができます。Microsoft Excel のインストール、COM 登録、相互運用性の面倒な作業は一切不要です。 このガイドでは、パッケージのインストール、ファイルの読み込み、型付きセル値の抽出、名前付きワークシートの操作、結合セルの処理、Linuxまたはコンテナ環境へのデプロイなど、すべての手順を順を追って説明します。

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

NuGetパッケージ マネージャーのインストール

NuGetパッケージマネージャーを使用して、 IronXLをプロジェクトに追加してください。 Visual StudioでPackage Manager Consoleを開き、実行してください:

Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
SHELL

IronXLは.NET 8、 .NET 9、 .NET 10、 .NET Framework 4.6.2以降、および.NET Standard 2.0を対象としているため、最新のコードベースにも従来のコードベースにも適合します。パッケージのインストールが完了したら、スプレッドシートを扱うファイルの先頭にusing IronXL;ディレクティブを追加すれば、最初のワークブックを読み込む準備が整います。

Azure Functions、Dockerコンテナ、またはLinuxホスト型APIの場合、追加のランタイム構成は不要です。 このライブラリは必要なものをすべて内部にバンドルしており、Excelの自動化コンポーネントを呼び出すことはありません。

C#でOpenOfficeまたはExcelファイルを読み込むにはどうすればよいですか?

IronXL は、WorkBook.Load メソッドを使用して、ODS、XLS、XLSX、および CSV ファイルを同じように処理します。 絶対パスまたは相対パスを渡すと、ライブラリは拡張子だけでなく、ファイルヘッダーからファイル形式を検出します。 これは、ファイル名が .ods から .xlsx に変更されたファイルでも、正しく読み込まれることを意味します。

using IronXL;

// Load an OpenDocument Spreadsheet (.ods) produced by LibreOffice Calc or OpenOffice
WorkBook workbook = WorkBook.Load("quarterly_report.ods");

// Access the first worksheet by index
WorkSheet sheet = workbook.WorkSheets[0];

// Read a cell value
string companyName = sheet["A1"].StringValue;
int recordCount   = sheet["B1"].IntValue;

Console.WriteLine($"Company : {companyName}");
Console.WriteLine($"Records : {recordCount}");
using IronXL;

// Load an OpenDocument Spreadsheet (.ods) produced by LibreOffice Calc or OpenOffice
WorkBook workbook = WorkBook.Load("quarterly_report.ods");

// Access the first worksheet by index
WorkSheet sheet = workbook.WorkSheets[0];

// Read a cell value
string companyName = sheet["A1"].StringValue;
int recordCount   = sheet["B1"].IntValue;

Console.WriteLine($"Company : {companyName}");
Console.WriteLine($"Records : {recordCount}");
Imports IronXL

' Load an OpenDocument Spreadsheet (.ods) produced by LibreOffice Calc or OpenOffice
Dim workbook As WorkBook = WorkBook.Load("quarterly_report.ods")

' Access the first worksheet by index
Dim sheet As WorkSheet = workbook.WorkSheets(0)

' Read a cell value
Dim companyName As String = sheet("A1").StringValue
Dim recordCount As Integer = sheet("B1").IntValue

Console.WriteLine($"Company : {companyName}")
Console.WriteLine($"Records : {recordCount}")
$vbLabelText   $csharpLabel

同じ呼び出し方法はXLSXファイルとXLSファイルにも有効です。パスを変更するだけで済みます。 WorkBook.Load は、ソース形式に関係なく同じ厳密に型指定されたオブジェクトを返すため、ファイルが Microsoft Excel、LibreOffice、またはその他の ODF 準拠アプリケーションから生成されたものであっても、残りのコードは同じままです。

ワークシートの各行とセルをどのように読み取るのですか?

行コレクションの反復処理

すべての行とセルを反復処理することは、インポートデータの検証、レコードの変換、レポートパイプラインへのデータ供給など、最も一般的な Excel 処理タスクです。IronXLは、すべての WorkSheetRows コレクションを公開します。

using IronXL;

WorkBook workbook  = WorkBook.Load("customers.xlsx");
WorkSheet worksheet = workbook.WorkSheets[0];

Console.WriteLine($"Total rows    : {worksheet.RowCount}");
Console.WriteLine($"Total columns : {worksheet.ColumnCount}");
Console.WriteLine();

foreach (var row in worksheet.Rows)
{
    foreach (var cell in row)
    {
        if (!cell.IsEmpty)
            Console.Write($"{cell.StringValue,-20}");
    }
    Console.WriteLine();
}
using IronXL;

WorkBook workbook  = WorkBook.Load("customers.xlsx");
WorkSheet worksheet = workbook.WorkSheets[0];

Console.WriteLine($"Total rows    : {worksheet.RowCount}");
Console.WriteLine($"Total columns : {worksheet.ColumnCount}");
Console.WriteLine();

foreach (var row in worksheet.Rows)
{
    foreach (var cell in row)
    {
        if (!cell.IsEmpty)
            Console.Write($"{cell.StringValue,-20}");
    }
    Console.WriteLine();
}
Imports IronXL

Dim workbook As WorkBook = WorkBook.Load("customers.xlsx")
Dim worksheet As WorkSheet = workbook.WorkSheets(0)

Console.WriteLine($"Total rows    : {worksheet.RowCount}")
Console.WriteLine($"Total columns : {worksheet.ColumnCount}")
Console.WriteLine()

For Each row In worksheet.Rows
    For Each cell In row
        If Not cell.IsEmpty Then
            Console.Write($"{cell.StringValue,-20}")
        End If
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

RowCount および ColumnCount プロパティは、データが入力された範囲のみを返します。末尾の空の行と列は含まれません。 読み取り前に cell.IsEmpty をチェックすることで、疎なシートでの不要な処理を防ぐことができます。

大きなファイルの場合は、シート全体を反復処理する代わりに、範囲ベースのアクセス(worksheet["A1:D500"])を使用することを検討してください。 これにより、メモリに読み込まれるセル数が制限され、データの一部のみが必要な場合の処理​​速度が向上します。

セルから入力された値を抽出するにはどうすればよいですか?

型付きプロパティアクセサー

実際の表計算ソフトのセルには、文字列、整数、小数、ブール値、日付などが含まれます。 IronXLは専用の型付きプロパティを公開しているため、生の文字列を手動で解析する必要は一切ありません。

using IronXL;

WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet   = workbook.GetWorkSheet("Products");

// Typed accessors handle conversion automatically
string  productName = sheet["A2"].StringValue;
int     quantity    = sheet["B2"].IntValue;
decimal unitPrice   = sheet["C2"].DecimalValue;
bool    inStock     = sheet["D2"].BoolValue;
DateTime? lastAudit = sheet["E2"].DateTimeValue;

Console.WriteLine($"Product  : {productName}");
Console.WriteLine($"Qty      : {quantity}");
Console.WriteLine($"Price    : {unitPrice:C}");
Console.WriteLine($"In Stock : {inStock}");
Console.WriteLine($"Audited  : {lastAudit?.ToString("d") ?? "Never"}");
using IronXL;

WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet   = workbook.GetWorkSheet("Products");

// Typed accessors handle conversion automatically
string  productName = sheet["A2"].StringValue;
int     quantity    = sheet["B2"].IntValue;
decimal unitPrice   = sheet["C2"].DecimalValue;
bool    inStock     = sheet["D2"].BoolValue;
DateTime? lastAudit = sheet["E2"].DateTimeValue;

Console.WriteLine($"Product  : {productName}");
Console.WriteLine($"Qty      : {quantity}");
Console.WriteLine($"Price    : {unitPrice:C}");
Console.WriteLine($"In Stock : {inStock}");
Console.WriteLine($"Audited  : {lastAudit?.ToString("d") ?? "Never"}");
Imports IronXL

Dim workbook As WorkBook = WorkBook.Load("inventory.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("Products")

' Typed accessors handle conversion automatically
Dim productName As String = sheet("A2").StringValue
Dim quantity As Integer = sheet("B2").IntValue
Dim unitPrice As Decimal = sheet("C2").DecimalValue
Dim inStock As Boolean = sheet("D2").BoolValue
Dim lastAudit As DateTime? = sheet("E2").DateTimeValue

Console.WriteLine($"Product  : {productName}")
Console.WriteLine($"Qty      : {quantity}")
Console.WriteLine($"Price    : {unitPrice:C}")
Console.WriteLine($"In Stock : {inStock}")
Console.WriteLine($"Audited  : {If(lastAudit?.ToString("d"), "Never")}")
$vbLabelText   $csharpLabel

セルに数式が含まれている場合、 IronXL はその数式を評価し、同じ型のプロパティを通して計算結果を返します。 別途評価メソッドを呼び出す必要はありません。 空のセルや互換性のない型を含むセルについては、ライブラリは例外をスローするのではなく、その型のデフォルト値を返すため、入力検証ロジックが簡素化されます。

IronXLのセル値プロパティと、それに対応する.NET型
プロパティ .NETタイプ 空の場合に返される 注意事項
`StringValue` `文字列` 空の文字列 常に安全。任意のセルをテキストに変換します。
`IntValue` `int` `0` 小数点以下を切り捨てる
`DecimalValue` `decimal` `0m` 財務データの精度を維持する
`DoubleValue` `ダブル` `0.0` 科学的または統計的値に使用する
`BoolValue` `ブール` `false` ExcelのTRUE/FALSEセルを読み取ります
`DateTimeValue` `DateTime?` `null` null許容 -- 使用前にチェックする

複数の名前付きワークシートをどのように操作しますか?

名前、インデックス、または反復によるアクセス

Enterpriseのスプレッドシートには、月ごと、地域ごと、製品ラインごとなど、複数の名前付きシートが含まれていることがよくあります。IronXLIronXL、これらのシートにアクセスするための複数の方法を提供しています。

using IronXL;

WorkBook workbook = WorkBook.Load("annual_sales.xlsx");

// Option 1: access by name (throws if the sheet does not exist)
WorkSheet januarySheet = workbook.GetWorkSheet("January");

// Option 2: iterate all sheets in the workbook
foreach (WorkSheet ws in workbook.WorkSheets)
{
    Console.WriteLine($"Sheet: {ws.Name}  |  Rows: {ws.RowCount}");

    // Read the header row from each sheet
    string header = ws["A1"].StringValue;
    Console.WriteLine($"  Header: {header}");
}

// Option 3: access by zero-based index
WorkSheet lastSheet = workbook.WorkSheets[workbook.WorkSheets.Count - 1];
Console.WriteLine($"Last sheet: {lastSheet.Name}");
using IronXL;

WorkBook workbook = WorkBook.Load("annual_sales.xlsx");

// Option 1: access by name (throws if the sheet does not exist)
WorkSheet januarySheet = workbook.GetWorkSheet("January");

// Option 2: iterate all sheets in the workbook
foreach (WorkSheet ws in workbook.WorkSheets)
{
    Console.WriteLine($"Sheet: {ws.Name}  |  Rows: {ws.RowCount}");

    // Read the header row from each sheet
    string header = ws["A1"].StringValue;
    Console.WriteLine($"  Header: {header}");
}

// Option 3: access by zero-based index
WorkSheet lastSheet = workbook.WorkSheets[workbook.WorkSheets.Count - 1];
Console.WriteLine($"Last sheet: {lastSheet.Name}");
Imports IronXL

Dim workbook As WorkBook = WorkBook.Load("annual_sales.xlsx")

' Option 1: access by name (throws if the sheet does not exist)
Dim januarySheet As WorkSheet = workbook.GetWorkSheet("January")

' Option 2: iterate all sheets in the workbook
For Each ws As WorkSheet In workbook.WorkSheets
    Console.WriteLine($"Sheet: {ws.Name}  |  Rows: {ws.RowCount}")

    ' Read the header row from each sheet
    Dim header As String = ws("A1").StringValue
    Console.WriteLine($"  Header: {header}")
Next

' Option 3: access by zero-based index
Dim lastSheet As WorkSheet = workbook.WorkSheets(workbook.WorkSheets.Count - 1)
Console.WriteLine($"Last sheet: {lastSheet.Name}")
$vbLabelText   $csharpLabel

シート名が設計時にわかっている場合は、GetWorkSheet が最も分かりやすい選択肢です。 動的処理(シート名がユーザー入力または構成から取得される場合)では、WorkSheets コレクションを反復処理することで、ハードコーディングされた仮定を回避し、シート数が異なるワークブックを処理できます。

結合されたセルと書式設定された領域はどのように処理しますか?

レポートやダッシュボードでは、見出し、グループ化されたラベル、および要約行に結合セルがよく使用されます。 IronXLは、結合領域の左上のセルから、Excelが表示するのと全く同じ値を読み取ります。

using IronXL;

WorkBook workbook = WorkBook.Load("report_with_merges.xlsx");
WorkSheet sheet   = workbook.DefaultWorkSheet;

// The merged region A1:D1 stores its value in cell A1
string reportTitle = sheet["A1"].StringValue;
Console.WriteLine($"Report title : {reportTitle}");

// Read cell formatting metadata
var titleCell = sheet["A1"];
Console.WriteLine($"Bold         : {titleCell.Style.Font.Bold}");
Console.WriteLine($"Font size    : {titleCell.Style.Font.Height}");

// Scan an entire column for non-empty section headers
foreach (var cell in sheet["A1:A100"])
{
    if (!cell.IsEmpty && cell.Style.Font.Bold)
        Console.WriteLine($"Section header at {cell.AddressString}: {cell.StringValue}");
}
using IronXL;

WorkBook workbook = WorkBook.Load("report_with_merges.xlsx");
WorkSheet sheet   = workbook.DefaultWorkSheet;

// The merged region A1:D1 stores its value in cell A1
string reportTitle = sheet["A1"].StringValue;
Console.WriteLine($"Report title : {reportTitle}");

// Read cell formatting metadata
var titleCell = sheet["A1"];
Console.WriteLine($"Bold         : {titleCell.Style.Font.Bold}");
Console.WriteLine($"Font size    : {titleCell.Style.Font.Height}");

// Scan an entire column for non-empty section headers
foreach (var cell in sheet["A1:A100"])
{
    if (!cell.IsEmpty && cell.Style.Font.Bold)
        Console.WriteLine($"Section header at {cell.AddressString}: {cell.StringValue}");
}
Imports IronXL

Dim workbook As WorkBook = WorkBook.Load("report_with_merges.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' The merged region A1:D1 stores its value in cell A1
Dim reportTitle As String = sheet("A1").StringValue
Console.WriteLine($"Report title : {reportTitle}")

' Read cell formatting metadata
Dim titleCell = sheet("A1")
Console.WriteLine($"Bold         : {titleCell.Style.Font.Bold}")
Console.WriteLine($"Font size    : {titleCell.Style.Font.Height}")

' Scan an entire column for non-empty section headers
For Each cell In sheet("A1:A100")
    If Not cell.IsEmpty AndAlso cell.Style.Font.Bold Then
        Console.WriteLine($"Section header at {cell.AddressString}: {cell.StringValue}")
    End If
Next
$vbLabelText   $csharpLabel

Style プロパティツリーはOOXML SpreadsheetML 仕様の構造を反映しているため、Open XML SDK を使用したことがある方であれば、プロパティ名に馴染みがあるでしょう。 しかし、 IronXLはそうした複雑さをすべて、ユーザー側でXMLを操作する必要のない、クリーンなAPIに包み込んでいます。

同じAPIを使用してCSVファイルをインポートするにはどうすればよいですか?

データベースのエクスポート、CRM システム、レガシー アプリケーションによって生成された CSV ファイルは、同じ WorkBook.Load 呼び出しで読み取ることができます。 IronXLはファイルの内容から区切り文字を推測します。

using IronXL;

// Load a comma-separated values file -- same method, same API
WorkBook csvWorkbook  = WorkBook.Load("export.csv");
WorkSheet csvSheet    = csvWorkbook.DefaultWorkSheet;

Console.WriteLine($"CSV rows loaded: {csvSheet.RowCount}");

// Process rows exactly like any other worksheet
foreach (var row in csvSheet.Rows)
{
    string id   = row[0].StringValue;
    string name = row[1].StringValue;
    Console.WriteLine($"{id,-10} {name}");
}
using IronXL;

// Load a comma-separated values file -- same method, same API
WorkBook csvWorkbook  = WorkBook.Load("export.csv");
WorkSheet csvSheet    = csvWorkbook.DefaultWorkSheet;

Console.WriteLine($"CSV rows loaded: {csvSheet.RowCount}");

// Process rows exactly like any other worksheet
foreach (var row in csvSheet.Rows)
{
    string id   = row[0].StringValue;
    string name = row[1].StringValue;
    Console.WriteLine($"{id,-10} {name}");
}
Imports IronXL

' Load a comma-separated values file -- same method, same API
Dim csvWorkbook As WorkBook = WorkBook.Load("export.csv")
Dim csvSheet As WorkSheet = csvWorkbook.DefaultWorkSheet

Console.WriteLine($"CSV rows loaded: {csvSheet.RowCount}")

' Process rows exactly like any other worksheet
For Each row In csvSheet.Rows
    Dim id As String = row(0).StringValue
    Dim name As String = row(1).StringValue
    Console.WriteLine($"{id,-10} {name}")
Next
$vbLabelText   $csharpLabel

読み込み後、csvWorkbook.SaveAs("output.xlsx") を使用してデータを XLSX 形式で保存できます。 これは、CSVからExcelへの変換パイプラインでよく見られるパターンです。CSVファイルを受け取り、計算列や書式設定を追加して内容を充実させ、書式設定されたXLSXレポートをユーザーに返します。

タブ区切りファイルまたはカスタム区切り文字の場合は、WorkBook.LoadCSV("file.tsv", file形式: ExcelFile形式.TSV) を使用してフォーマットを明示的に指定します。

IronXLでサポートされている入力ファイル形式
形式 拡大 制作: 注意事項
XLSX `.xlsx` Excel 2007以降、LibreOffice デフォルトのモダンフォーマット。XMLベース
XLS `.xls` Excel 97~2003 バイナリ形式。完全な読み書きサポート。
ODS `.ods` LibreOffice、OpenOffice OpenDocumentスプレッドシート標準
CSV `.csv` あらゆるアプリケーション 区切り文字は自動検出されました。書式設定は行われません。
TSV `.tsv` データベースのエクスポート タブ区切り。フォーマットを明示的に指定してください。

IronXLはMicrosoft.Office.Interop.Excelと比べてどうですか?

Interop、Open XML SDK、およびIronXLの並列比較

.NETで Excel の自動化を行う際のIronXLの最も一般的な代替手段は、 Microsoft.Office.Interop.Excelです。 トレードオフを理解することで、プロジェクトに最適なツールを選ぶことができます。

Microsoft Interopは、Excel COMオブジェクトモデルをラップします。 つまり、Webサーバー、ビルドエージェント、クラウドVMなど、コードを実行するすべてのマシンにExcelをインストールする必要があるということです。 COM オブジェクトのライフサイクル管理は手動で行います。Worksheet、および Workbook オブジェクトを明示的に解放しないと、Excel プロセスがバックグラウンドで蓄積され、サーバーが再起動するまでメモリを消費し続けます。 ライセンスも懸念事項です。OfficeのEULA(エンドユーザー使用許諾契約)では、多くのシナリオにおいてサーバー側の自動化が禁止されています。

IronXLはこれらの制約をすべて回避します。 これはCOMに依存しない、純粋なマネージドライブラリです。 WorkBook オブジェクトは標準の.NETクラスです。 ガベージコレクタがクリーンアップ処理を行います。同じコードを開発者用ノートパソコン、Azure App Service、Dockerコンテナ、またはLinuxを実行しているRaspberry Piで実行できます。

MicrosoftのOpen XML SDKも別の選択肢です。Excelを必要とせずにOOXMLファイル形式に直接アクセスできますが、非常に低レベルで動作するため、XML要素を直接操作する必要があります。 単一のセル値を読み取るには、共有文字列テーブル、セル参照、およびスタイルインデックスをナビゲートする必要があります。 IronXL は、このガイド全体を通して示されている単一行の sheet["A1"].StringValue 呼び出しにそれらすべてをまとめます。

Excel処理をLinuxとDockerにデプロイするにはどうすればよいですか?

サーバー展開においてこそ、IronXLがExcelに依存しないことの真価が発揮される。 Windowsで書いたコードは、Ubuntu、Alpine Linux、macOSでもそのまま動作します。 コンテナ化されたデプロイメントの場合、Dockerfileに特別な設定は必要ありません。

# Standard .NET runtime image -- no Office packages needed
FROM mcr.microsoft.com/dotnet/runtime:10.0
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "ExcelProcessor.dll"]
# Standard .NET runtime image -- no Office packages needed
FROM mcr.microsoft.com/dotnet/runtime:10.0
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "ExcelProcessor.dll"]
SHELL

Azure FunctionsとAWS Lambdaの場合、 IronXLは追加の設定なしでマネージドランタイム内で動作します。 COMの初期化手順がないため、コールドスタート時のオーバーヘッドは最小限です。

スレッドセーフティが組み込まれています。複数のスレッドが調整なしに異なるインスタンスを同時に開くことができます。 数千のファイルを並列処理する必要がある場合(たとえば、ユーザーがアップロードしたスプレッドシートを取り込むバックグラウンド ジョブなど)、破損のリスクなしに、Parallel.ForEach または Task.WhenAllWorkBook インスタンスのプール全体で使用できます。

IronXLは初期化時にワークブック全体ではなく、要求されたワークシートのみをメモリに読み込むため、メモリ使用量は予測可能なままです。 非常に大きなファイルの場合、この違いは重要になります。例えば、50MBのシートが10枚含まれているワークブックでは、1枚のシートを読み込むためだけに500MBのRAMは必要ありません。 IronXLのパフォーマンスに関するドキュメントには、大量のファイルを処理するシナリオに対応するための追加的な戦略が記載されています。

次のステップは何ですか?

プロジェクトでIronXL を検証する最も簡単な方法は、 NuGetパッケージをインストールし、このガイドのサンプルを実際の環境にあるファイルに対して実行することです。 無料トライアルライセンスでは、本番環境への移行時にコード変更を一切必要とせず、すべての機能が利用可能になります。

ファイル読み取りを補完するIronXLの関連機能をご覧ください。

ライセンス、クロスプラットフォーム対応、または特定のファイル形式要件に関するご質問は、 IronXLサポートチームがライブチャットとメールで対応いたします。

今IronXLを始めましょう。
green arrow pointer

よくある質問

Excel をインストールせずに C# で Open Office Excel ファイルを読み取るにはどうすればよいですか?

IronXLライブラリを使用すると、サーバーにExcelをインストールすることなく、C#でOpen Office Excelファイルを読み取ることができます。WorkBook.Loadメソッドを1回呼び出すだけで、XLS、XLSX、ODS、CSVファイルを効率的に読み込むことができます。

IronXLを使用して処理できる Excel ファイルの種類は何ですか?

IronXL は、XLS、XLSX、ODS (OpenDocument スプレッドシート)、CSV ファイルなどのさまざまな Excel ファイル形式の処理をサポートしているため、LibreOffice や OpenOffice などのさまざまなスプレッドシート アプリケーションで汎用的に使用できます。

開発者が Excel ファイルの読み取りに Microsoft Interop ではなくIronXL を使用する必要があるのはなぜですか?

IronXL は、Microsoft Excel や COM Interop を必要とせずに Excel ファイルを処理するためのよりシンプルで効率的な方法を提供し、運用サーバーの複雑さとオーバーヘッドを軽減し、Linux および Docker の展開を可能にします。

IronXL は、MS Excel 以外のスプレッドシート アプリケーションで作成されたファイルを処理できますか?

はい、 IronXL はOpenOffice Calc や LibreOffice Calc などの他のスプレッドシート アプリケーションからファイルを読み取って処理できるため、ODS および ODF 準拠の形式で作業する開発者にとって柔軟なツールになります。

IronXLを使用するには、運用サーバーに Excel をインストールする必要がありますか?

いいえ、 IronXLを使用すると、本番サーバーに Excel をインストールする必要がないため、導入が簡素化され、メンテナンスの負担も軽減されます。IronXLは、Windows、Linux、macOS、そして Docker コンテナ内で動作します。

IronXL はCSV ファイルの処理をサポートしていますか?

はい、 IronXL は同じ WorkBook.Load API を使用して、XLS、XLSX、ODS などの他の Excel 形式とともに CSV ファイルの読み取りと処理を完全にサポートしています。

.NET開発者にとってIronXL を使用する利点は何ですか?

IronXL は、Microsoft Excel を必要とせずに Excel ファイルの読み取り、書き込み、操作を行うための使いやすいライブラリを.NET開発者に提供し、クリーンかつ厳密に型指定された API によって生産性を向上し、開発時間を短縮します。

IronXL はExcel ファイルの処理効率をどのように向上させるのでしょうか?

IronXL は、Excel ソフトウェアの必要性をなくし、型指定されたセル値アクセサー、スレッドセーフな同時処理、および.NETアプリケーション内で直接 Excel ファイルを処理する軽量ソリューションを提供することで効率性を高めます。

カーティス・チャウ
テクニカルライター

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね