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

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

IronXL は、手動での解析作業を不要にするシンプルな 1 行のコマンドを使用して、Excel ファイルを JSON、CSV、XML、および XLS などの旧形式の Excel 形式を含む複数の形式に変換します。

IronXL は、あらゆる Excel ファイルをさまざまな形式に変換し、開発者が Interop を使用せずに C# で Excel を操作するためのツールを提供します。 システム間のデータ移行、Webアプリケーション向けのデータエクスポート作成、あるいはレガシーシステムとの統合など、どのような場面においても、IronXLは変換プロセスを簡素化します。

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

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

クイックスタート: 1行でXLSXファイルをCSVに変換

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

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

    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 は、複雑な解析や書式設定を自動的に処理する変換機能を提供します。

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

: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変換では、セルの書式設定とデータ型が保持されます。最後に、DataGridViewオブジェクトで使用できるようにします。これは、DataTablesを扱う際に有効です。

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

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

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

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