C#でIronXLを使用してスプレッドシートファイルをJSON、CSV、XMLなどに変換する方法

IronXLを使用してC#でスプレッドシートのファイルタイプを変換する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXLはC#の開発者がXLS、XLSX、CSV、JSON、XML、HTMLを含む複数のフォーマット間でスプレッドシートを変換することを可能にし、シンプルなLoadとSaveAsメソッドを使用して、ビジネスアプリケーションでのファイルフォーマットの変換を合理化します。

IronXLは、XLS、XLSX、XLSM、XLTX、CSV、TSV、JSON、XML、HTMLを含むさまざまな形式間でスプレッドシートファイルの変換をサポートしています。 また、HTML文字列、バイナリデータ、バイト配列、DataSets、MemoryStreamsなどのインラインコードのデータ型もサポートしています。 Loadメソッドはスプレッドシートファイルを開くために使用され、SaveAsメソッドはスプレッドシートを望むファイルタイプにエクスポートするために使用されます。

この柔軟性により、IronXLはさまざまなプラットフォームやアプリケーションでC#のExcelファイルを扱う.NET開発者にとって不可欠なツールとなります。 データ移行ツール、レポートシステム、ビジネスインテリジェンスアプリケーションのいずれを構築する場合でも、フォーマット間のシームレスな変換機能は、さまざまなシステムやユーザー要件との互換性を保証します。

クイックスタート:ExcelスプレッドシートをJSONに変換

IronXLはシンプルな1行のコードでExcelファイルを読み込み、JSONとしてエクスポートします。 これは、迅速なファイルタイプの変換を必要とする開発者のための完璧な入門例です。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronXL をインストールします

    PM > Install-Package IronXL.Excel

  2. このコード スニペットをコピーして実行します。

    IronXL.WorkBook.Load("input.xlsx").SaveAsJson("output.json");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう
    arrow pointer


スプレッドシートのファイル形式を変換するにはどうすればよいですか?

スプレッドシートの種類を変換するプロセスでは、サポートされているフォーマットでファイルをロードし、IronXLのインテリジェントなデータ再構築機能を使って別のフォーマットにエクスポートします。 この変換プロセスでは、各ターゲットフォーマットの構造要件に適合させながら、データの整合性を維持します。

SaveAsメソッドを使用してCSV、JSON、XML、およびHTMLにエクスポートすることもできますが、各ファイル形式に特化した専用のメソッドを使用することをお勧めします。

  • SaveAsCsv - 適切なエスケーピングでカンマ区切りの値に最適化されています。
  • SaveAsJson<//code> - データ型を保持し、適切にフォーマットされた JSON を作成します。
  • SaveAsXml - 適切なスキーマで整形されたXMLを生成します。
  • ExportToHtml - 書式を保持したスタイル付き HTML テーブルを作成します。

ご注意CSV、TSV、JSON、および XML ファイル形式の場合、ワークシートごとに個別のファイルが作成されます。 命名規則はfileName.sheetName.formatの形式に従います。 以下の例では、CSV 形式の出力はsample.new_sheet.csvになります。

:path=/static-assets/excel/content-code-examples/how-to/convert-spreadsheet-file-types-different-format.cs
using IronXL;

// Load the Excel spreadsheet
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Convert and save as CSV
workbook.SaveAsCsv("sample.csv");

// Convert and save as JSON
workbook.SaveAsJson("sample.json");

// Convert and save as XML
workbook.SaveAsXml("sample.xml");

// Convert and export to HTML
workbook.ExportToHtml("sample.html");

// The files will be saved in the project's directory with the specified formats
$vbLabelText   $csharpLabel

各エクスポート方法は、ターゲットフォーマットに最適化されています。 たとえば、XLSXからCSVへの変換では特殊文字や区切り文字を正しく処理し、JSONエクスポートではデータ型や階層構造を維持します。

各フォーマットはいつ使うべきですか?

各ファイル形式をいつ使用するかを理解することは、ビジネスアプリケーションにとって非常に重要です:

  • CSV/TSV:単純な表データ、データベースのインポート、または他のアプリケーションとの最大限の互換性が必要な場合に最適です。
  • JSON:ウェブサービス、REST API、最新のJavaScriptアプリケーションに最適です。
  • XML:構造化されたデータ交換、設定ファイル、レガシーシステムの統合に適しています。
  • HTML:ウェブサイトにデータを表示したり、電子メール配信用のレポートを作成するのに最適です。

どのような高度な変換オプションがありますか?

前のセクションでは、変換のための最も一般的なファイル形式を探りました。 しかし、IronXLはより多くの形式へのスプレッドシートの変換が可能です。 データベース操作のためのDataSetおよびDataTableへのエクスポートのような高度なシナリオを含め、スプレッドシートのロードおよびエクスポートのために利用可能なすべてのオプションについて説明します。

どのファイル形式を読み込むことができますか?

  • XLS、XLSX、XLSM、XLTX
  • CSV (カンマ区切り値)
  • TSV(タブ区切り値)

どの形式でエクスポートできますか?

  • XLS、XLSX、XLSM
  • CSVおよびTSV
  • JSON
  • XML
  • HTML
  • インラインコードデータ型:

    • HTML文字列
    • バイナリおよびバイト配列
    • データセット:ExcelをSystem.Data.DataSetおよびSystem.Data.DataTableオブジェクトにエクスポートすることで、DataGrid、SQL、EFとの相互運用や統合が容易になります。
    • メモリーストリーム

インラインコードデータ型はRESTful APIレスポンスとして送信するか、IronPDFを使用してPDFドキュメントに変換することができます。 この柔軟性は、ウェブアプリケーションで動的にスプレッドシートを作成する場合に特に役立ちます。

:path=/static-assets/excel/content-code-examples/how-to/convert-spreadsheet-file-types-different-format-advanced.cs
using IronXL;

// Load the Excel spreadsheet
WorkBook workbook = WorkBook.Load("advanced_sample.xlsx");

// Convert and save to various formats
workbook.SaveAs("advanced_sample.xlsm");
workbook.SaveAsCsv("advanced_sample.csv");
workbook.SaveAsJson("advanced_sample.json");
workbook.SaveAsXml("advanced_sample.xml");
workbook.ExportToHtml("advanced_sample.html");

// You can also convert to binary or byte array for advanced uses
byte[] excelAsByteArray = workbook.ToBinary();
$vbLabelText   $csharpLabel

上記のコードは通常のXLSXファイルをロードし、さまざまな形式に変換してエクスポートします。 ファイル変換の包括的な例については、変換例のページをご覧ください。

変換された出力はどのように見えますか?

Excel の従業員データベースのスプレッドシート(複数の列にわたる給与、人口統計、および場所のデータを含む).
XLSXファイル

さまざまなエクスポートされたファイルは以下に示されています。

従業員データを含むTSVファイルで、ID、氏名、役職、部署、給与、および人口統計の列をテキストエディタで表示.
TSVファイルのエクスポート
コードエディタでID、名前、役職、部署、給与、勤務地の列を表示した従業員データのCSVファイル.
CSVファイルのエクスポート
ヘッダーフィールドとID、名前、役職を含むサンプルレコードを含むJSON従業員データファイルを示すVSコードエディタ.
JSONファイルのエクスポート
ID、名前、役職、部署、およびその他の人事フィールドの列を持つ従業員データ構造を示すXMLファイル.
XMLファイルのエクスポート
従業員データベースのスプレッドシートで、ID、名前、役職、部署、属性、報酬などの人事データを表示する.
HTMLファイルのエクスポート

ファイル変換のベストプラクティス

スプレッドシートファイルを変換する場合は、最適な結果を得るために以下のベストプラクティスを考慮してください:

1.データの完全性を保つ:重要なデータ、数式、書式が変換後も維持されていることを常に確認してください。 CSVのように、複数のシートやフォーマットをサポートしないフォーマットもあります。

2.大きなファイルを効率的に扱う:大きなスプレッドシートの場合、メモリ使用量を効率的に管理するために、ストリーミングメソッドを使用するか、データをチャンクで処理することを検討してください。

3.エラー処理: 変換の失敗をキャッチするために、適切なエラー処理を実装します:

try 
{
    WorkBook workbook = WorkBook.Load("input.xlsx");

    // Check if the file has data before converting
    if (workbook.WorkSheets.Count > 0 && workbook.DefaultWorkSheet.RowCount > 0)
    {
        workbook.SaveAsCsv("output.csv");
        Console.WriteLine("Conversion successful!");
    }
    else
    {
        Console.WriteLine("No data found in the spreadsheet.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Conversion failed: {ex.Message}");
}
try 
{
    WorkBook workbook = WorkBook.Load("input.xlsx");

    // Check if the file has data before converting
    if (workbook.WorkSheets.Count > 0 && workbook.DefaultWorkSheet.RowCount > 0)
    {
        workbook.SaveAsCsv("output.csv");
        Console.WriteLine("Conversion successful!");
    }
    else
    {
        Console.WriteLine("No data found in the spreadsheet.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Conversion failed: {ex.Message}");
}
$vbLabelText   $csharpLabel

4.適切なフォーマットを選択する: 特定のニーズに基づいて出力フォーマットを選択します:

  • Excelの全機能を使用するには、XLSXを使用してください。
  • シンプルなデータ交換のためにCSVを選択してください。
  • ウェブアプリケーションとAPI用のJSONを選択する
  • スキーマを持つ構造化データのためのXMLを選ぶ
  • ウェブ表示用にHTMLにエクスポートします。

5.文字エンコーディング:特に国際的なデータを扱うときは、文字エンコーディングに注意してください。 IronXLはデフォルトでUTF-8エンコーディングを扱い、異なるシステム間で適切な文字表現を保証します。

.NETアプリケーションでExcelファイルを操作するためのより詳細なガイダンスについては、包括的なIronXLドキュメントをご覧ください。

よくある質問

C#でExcelファイルをCSV形式に変換する方法を教えてください。

IronXLでは、SaveAsCsvメソッドを使ってExcelファイルをCSVに変換することができます。WorkBook.Load()でExcelファイルをロードし、SaveAsCsv()を呼び出してエクスポートするだけです。IronXLは適切なエスケープとフォーマットを自動的に処理し、Excelファイルの各ワークシートに対して個別のCSVファイルを作成します。

複数のExcelワークシートを同時にJSONに変換できますか?

はい、IronXLはJSON形式にエクスポートする際にすべてのワークシートを自動的に変換します。SaveAsJsonメソッドを使用すると、IronXLはfileName.sheetName.jsonという命名規則に従って各ワークシートに別々のJSONファイルを作成し、各シートのデータ型と構造を保持します。

変換に対応しているスプレッドシートのファイル形式は?

IronXLはXLS、XLSX、XLSM、XLTX、CSV、TSV、JSON、XML、HTMLを含む複数のフォーマット間の変換をサポートします。さらに、HTML文字列、バイナリ・データ、バイト配列、DataSets、MemoryStreamsなどのインライン・コード・データ型をサポートしており、C#アプリケーションで最大限の柔軟性を発揮します。

HTMLに変換する際、Excelの書式を保持するにはどうすればよいですか?

エクセルをHTMLに変換する際には、一般的なSaveAsの代わりにIronXL.ExportToHtmlメソッドを使用してください。この専用メソッドは、元のExcelファイルの書式を保持したまま、スタイル付きHTMLテーブルを作成します。

Microsoft Officeがインストールされていなくても、Excelファイルを変換できますか?

IronXLはMicrosoft OfficeやExcel Interopを必要とせず、独立して動作します。C#でExcelファイルを変換するための自己完結型のソリューションを提供するため、Officeのインストールが不可能なサーバー環境やアプリケーションに最適です。

Excelファイルを他の形式に変換する最も簡単な方法は何ですか?

IronXLでの最もシンプルなアプローチは、1行のコードを使用することです:IronXL.WorkBook.Load("input.xlsx").SaveAsJson("output.json")。必要に応じてSaveAsJsonをSaveAsCsv、SaveAsXml、ExportToHtmlに置き換えてください。

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

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

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

準備はできましたか?
Nuget ダウンロード 1,802,965 | バージョン: 2025.12 リリース