C++でXLSXをCSV、JSON、XMLなどに変換する方法

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

IronXLはExcelファイルをJSON、CSV、XML、XLSのような古いExcelフォーマットなど複数のフォーマットに変換します。

IronXLはあらゆるExcelファイルをさまざまな形式に変換し、C#でExcelをInteropなしで扱うためのツールを開発者に提供します。 システム間のデータ移行、ウェブアプリケーション用のデータエクスポートの作成、レガシーシステムとの統合など、IronXLは変換プロセスを簡素化します。

これらのフォーマットには以下が含まれます:最新のウェブAPI用のJSON、データ交換用のCSV、構造化データ保存用のXML、後方互換性のためのXLSなどの古いExcel形式などです。 CSVはデータベースのインポートに適しており、JSONはREST APIと統合し、XMLは階層的なデータ関係を維持します。

この記事では、IronXLを使用してXML、CSV、JSONに変換し、.NETデータコントロールと直接統合するためのデータセットとしてExcelワークシートをエクスポートする方法を説明します。

見出し:2(クイックスタート:1行でXLSXファイルをCSVに変換)

この例では、IronXLが既存のExcelワークブックを1行でCSVファイルに変換する方法を示します。ワークブックを読み込んで直接CSVとして保存すれば、すぐに使い始めることができます。

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

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

    PM > Install-Package IronXL.Excel

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

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

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

ステップ1

どのようにIronXLライブラリをインストールしますか?

まず、アプリケーションで使用する前にIronXLをインストールしてください。 IronXLは、.NET MAUIBlazor、および従来の.NETアプリケーションをサポートしています。 以下のいずれかのインストール方法を使用してください:

ダウンロード: https://ironsoftware.com/csharp/excel/docs/

または、NuGetパッケージマネージャを使用してください:

  • ソリューションエクスプローラーでソリューション名を右クリック
  • NuGetパッケージの管理をクリック
  • IronXL.Excelを検索
  • インストール
Install-Package IronXL.Excel

チュートリアル

Excelファイルをさまざまな形式に変換するにはどうすればよいですか?

IronXL.Excelは変換機能を提供し、複雑な構文解析や書式設定を自動的に処理します。

以下のコードを追加してください:

:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-csv-convert.cs
using IronXL;

// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("Normal_Excel_File.xlsx");

// Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx";

// Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls");
workbook.SaveAs("XLSX_Export.xlsx");
workbook.SaveAsCsv("CSV_Export.csv");
workbook.SaveAsJson("JSON_Export.json");
workbook.SaveAsXml("XML_Export.xml");

// Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
System.Data.DataSet dataSet = workbook.ToDataSet();
Imports IronXL

' Load an existing Excel workbook
Dim workbook As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx")

' Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx"

' Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls")
workbook.SaveAs("XLSX_Export.xlsx")
workbook.SaveAsCsv("CSV_Export.csv")
workbook.SaveAsJson("JSON_Export.json")
workbook.SaveAsXml("XML_Export.xml")

' Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
Dim dataSet As System.Data.DataSet = workbook.ToDataSet()
$vbLabelText   $csharpLabel

上のコードは、XLSXファイルをロードし、タイトルを追加し、いくつかのフォーマットに変換します。 CSVに変換する際、IronXLは特殊文字、複数行のセル、適切なエスケープを処理します。 JSONエクスポートでは、スプレッドシートデータの構造化オブジェクト表現を作成します。 XML変換は、セルの書式とデータ型を保持します。最後に、DataTablesで作業するときにうまく機能する、DataGridViewオブジェクトで使用するためのDataSetとしてWorksheetをエクスポートします。

これは、カスタムオプションで特定のワークシートを変換する方法を示す別の例です:

using IronXL;

// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];

// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");

// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
    PreserveFormatting = true,
    IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);

// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
using IronXL;

// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];

// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");

// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
    PreserveFormatting = true,
    IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);

// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
Imports IronXL

' Load workbook and select specific worksheet
Dim workbook As WorkBook = WorkBook.Load("MultiSheet.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets("SalesData")

' Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter:=";")

' Export to JSON with formatting preserved
Dim jsonOptions As New JsonSaveOptions With {
    .PreserveFormatting = True,
    .IncludeHeaders = True
}
sheet.SaveAsJson("SalesData.json", jsonOptions)

' Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport")
$vbLabelText   $csharpLabel

高度なシナリオでは、複数のフォーマットに同時にエクスポートしたり、大きなファイルを効率的に処理したりできます:

using IronXL;
using System.Threading.Tasks;

// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
    WorkBook workbook = WorkBook.Load(inputPath);

    // Parallel export to multiple formats
    var tasks = new[]
    {
        Task.Run(() => workbook.SaveAsCsv("output.csv")),
        Task.Run(() => workbook.SaveAsJson("output.json")),
        Task.Run(() => workbook.SaveAsXml("output.xml"))
    };

    await Task.WhenAll(tasks);
}
using IronXL;
using System.Threading.Tasks;

// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
    WorkBook workbook = WorkBook.Load(inputPath);

    // Parallel export to multiple formats
    var tasks = new[]
    {
        Task.Run(() => workbook.SaveAsCsv("output.csv")),
        Task.Run(() => workbook.SaveAsJson("output.json")),
        Task.Run(() => workbook.SaveAsXml("output.xml"))
    };

    await Task.WhenAll(tasks);
}
Imports IronXL
Imports System.Threading.Tasks

' Async conversion for large files
Public Async Function ConvertLargeFileAsync(inputPath As String) As Task
    Dim workbook As WorkBook = WorkBook.Load(inputPath)

    ' Parallel export to multiple formats
    Dim tasks = New Task() {
        Task.Run(Sub() workbook.SaveAsCsv("output.csv")),
        Task.Run(Sub() workbook.SaveAsJson("output.json")),
        Task.Run(Sub() workbook.SaveAsXml("output.xml"))
    }

    Await Task.WhenAll(tasks)
End Function
$vbLabelText   $csharpLabel

エクスポートされたファイルを以下に示します。

適切にエスケープされたデータで、テキストエディタでカンマ区切りの値を示すCSVファイルのエクスポート
図1 - CSVファイルのエクスポート
Excelデータを適切にフォーマットされた要素と属性で階層構造を表示するXMLエクスポート
図2 - XMLエクスポート
適切な入れ子とデータ型を持つJavaScriptオブジェクト記法形式で構造化されたデータを示すJSONエクスポート
図3 - JSONエクスポート
Microsoft Excelで開いたXLSエクスポートで、書式を維持しながら古いExcel形式との互換性を示しています
図4 - XLSエクスポート
さまざまな形式に変換する前の、複数の列と書式を持つソースデータを示すオリジナルのExcel XLSXファイル
図5 -すべてのエクスポートのExcel入力

各変換形式は、最新のアプリケーションで異なる目的を果たします。 CSVファイルは、データベースやデータ分析ツールにデータをインポートするのに適しています。 JSON形式は、Web APIやJavaScriptアプリケーションに適しています。 XMLはデータ構造を維持し、企業システムで一般的に使用されています。 レガシーXLSフォーマットは、古いExcelバージョンや下位互換性を必要とするシステムとの互換性を保証します。

IronXLはこれらの変換を行う際、多くの複雑な作業を自動的に処理します:

  • 文字エンコーディング:国際的な文字のための適切なUTF-8エンコーディング
  • データ型の保持:数値、日付、テキストの書式を維持する。
  • 数式評価エクスポート前に数式結果を計算します
  • 大容量ファイルの処理: 大きなスプレッドシートの効率的なメモリ使用法
  • エラー処理:破損または保護されたファイルの優雅な処理

高いパフォーマンスを必要とするアプリケーションやファイルサイズの制限を扱うアプリケーションのために、IronXLは最適化オプションを提供します。 これらの変換は、自動化されたワークフロー、Webサービス、またはデスクトップアプリケーションに統合することができます。


ライブラリのクイックアクセス

### IronXL APIリファレンスドキュメント

便利な IronXL API リファレンス ドキュメントを使用して、Excel スプレッドシートでセルを結合、結合解除、操作する方法の詳細を学び、共有します。

IronXL APIリファレンスドキュメント
Documentation related to Excelファイルをさまざまな形式に変換するにはどうすればよいですか?

よくある質問

Excelをインストールせずに、C#でXLSXをCSVに変換するにはどうすればよいですか?

IronXLを使えば、1行のコードでXLSXをCSVに変換することができます:IronXL.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv")。これはMicrosoft ExcelやInteropがシステムにインストールされていなくても動作します。

C#を使用してExcelファイルを変換できるファイル形式は?

IronXLはExcelファイルをCSV、JSON、XML、TSV、XLSのような古いExcel形式など複数の形式に変換することができます。CSVはデータベースのインポートに、JSONはREST APIに、XMLは階層的なデータ構造の維持にと、それぞれのフォーマットは異なるユースケースに最適です。

C#用Excel変換ライブラリのインストール方法を教えてください。

IronXLはNuGet Package Managerで'IronXL.Excel'を検索するか、Package Manager Consoleで'Install-Package IronXL'を実行してインストールしてください。このライブラリは.NET MAUI、Blazor、従来の.NETアプリケーションをサポートしています。

ウェブAPIで使用するためにExcelをJSONに変換できますか?

はい、IronXLはExcelからJSON形式への変換機能を内蔵しており、Excelデータを最新のWeb APIやRESTサービスと簡単に統合できます。この変換は複雑なデータ構造を自動的に処理します。

Excelの変換では、特殊文字や書式を扱えますか?

IronXLはExcelファイルをCSVのような形式に変換する際、特殊文字、複数行のセル、適切なエスケープを自動的に処理します。これにより、手作業による解析や書式の修正が不要になります。

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

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

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

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