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# 開発者は簡単な Load および SaveAs メソッドを用いて、XLS、XLSX、CSV、JSON、XML、HTML などの複数の形式間でスプレッドシートを変換でき、ビジネスアプリケーションにおけるファイル形式の変換を効率化できます。

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

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

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

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

  1. IronXL をNuGetパッケージマネージャでインストール

    PM > Install-Package IronXL.Excel
  2. このコード スニペットをコピーして実行します。

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

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

    arrow pointer


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

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

`` メソッドを使用して CSV、JSON、XML、HTML 形式にエクスポートすることも可能ですが、各ファイル形式専用のメソッドを使用することを推奨します:

  • `` - 適切なエスケープ処理を施したカンマ区切り値(CSV)形式に最適化
  • `` - データ型を保持した、適切な形式のJSONを作成します
  • `` - 適切なスキーマを持つ、構文の正しいXMLを生成します
  • `` - 書式設定を維持したスタイル付き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
Imports IronXL

' Load the Excel spreadsheet
Dim workbook As 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: Webサービス、REST API、および現代 for JavaScriptアプリケーションに最適です
  • XML: 構造化データ交換、設定ファイル、およびレガシーシステム統合に適しています
  • HTML:ウェブサイトにデータを表示したり、電子メール配信用のレポートを作成するのに最適です。

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

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

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

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

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

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

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

インラインコードデータ型は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();
Imports IronXL

' Load the Excel spreadsheet
Dim workbook As 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
Dim excelAsByteArray As Byte() = 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}");
}
Imports System

Try
    Dim workbook As WorkBook = WorkBook.Load("input.xlsx")

    ' Check if the file has data before converting
    If workbook.WorkSheets.Count > 0 AndAlso workbook.DefaultWorkSheet.RowCount > 0 Then
        workbook.SaveAsCsv("output.csv")
        Console.WriteLine("Conversion successful!")
    Else
        Console.WriteLine("No data found in the spreadsheet.")
    End If
Catch ex As Exception
    Console.WriteLine($"Conversion failed: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

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

  • Excelの全機能を利用するには、`` を使用してください
  • シンプルなデータ交換には `` を選択してください
  • WebアプリケーションおよびAPIには `` を選択してください
  • スキーマ付きの構造化データには `` を選択してください
  • Web表示用に `` へエクスポート

5.文字エンコーディング:特に国際的なデータを扱うときは、文字エンコーディングに注意してください。 IronXLはデフォルトで``エンコーディングに対応しており、異なるシステム間でも文字が正しく表示されることを保証します。

.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 ダウンロード 2,052,917 | バージョン: 2026.6 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronXL.Excel
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。