C# で xlsxファイルを CSV・JSON・XML などに変換する方法: Excelエクスポートガイド
IronXLはxlsxファイルをJSON、CSV、XML、XLSのような古いExcelフォーマットなど複数のフォーマットに変換します。
IronXLはあらゆるExcelファイルをさまざまな形式にExcelエクスポートし、C#でのExcel操作 C#のためのツールを開発者に提供します。 システム間のデータ移行、ウェブアプリケーション用のデータエクスポートの作成、レガシーシステムとの統合など、IronXLは変換プロセスを簡素化します。
これらのフォーマットには以下が含まれます:最新のウェブAPI用のJSON、データ交換用のCSV、構造化データ保存用のXML、後方互換性のためのXLSなどの古いExcel形式などです。 CSVはデータベースのインポートに適しており、JSONはREST APIと統合し、XMLは階層的なデータ関係を維持します。
この記事では、IronXLを使用してXML、CSV、JSONに変換し、.NETデータコントロールと直接統合するためのデータセットとしてExcelワークシートをエクスポートする方法を説明します。
クイックスタート:1行でXLSXファイルをCSVに変換
この例では、IronXLが既存のExcelワークブックを1行でCSVファイルに変換する方法を示します。ワークブックを読み込んで直接CSVとして保存すれば、すぐに使い始めることができます。
- XLSXをCSVに変換するC#ライブラリをダウンロードする
- 既存のXLSX Excelスプレッドシートを読み込む
- ワークブックにアクセスまたは修正
- CSVファイルまたはJSON、TSV、XMLなどの他の形式にエクスポート
- 出力ファイルを確認してさらに処理を適用
ステップ1
どのようにIronXLライブラリをインストールしますか?
まず、アプリケーションで使用する前にIronXLをインストールしてください。 IronXLは、.NET MAUI、Blazor、および従来の.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()
上のコードは、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")
高度なシナリオでは、複数のフォーマットに同時にエクスポートしたり、大きなファイルを効率的に処理したりできます:
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
エクスポートされたファイルを以下に示します。
各変換形式は、最新のアプリケーションで異なる目的を果たします。 CSVファイルは、データベースやデータ分析ツールにデータをインポートするのに適しています。 JSON形式は、Web APIやJavaScriptアプリケーションに適しています。 XMLはデータ構造を維持し、企業システムで一般的に使用されています。 レガシーXLSフォーマットは、古いExcelバージョンや下位互換性を必要とするシステムとの互換性を保証します。
IronXLはこれらの変換を行う際、多くの複雑な作業を自動的に処理します:
- 文字エンコーディング:国際的な文字のための適切なUTF-8エンコーディング
- データ型の保持:数値、日付、テキストの書式を維持する。
- 数式評価:エクスポート前に数式結果を計算します。
- 大容量ファイルの処理: 大きなスプレッドシートの効率的なメモリ使用法
- エラー処理:破損または保護されたファイルの優雅な処理
高いパフォーマンスを必要とするアプリケーションやファイルサイズの制限を扱うアプリケーションのために、IronXLは最適化オプションを提供します。 これらの変換は、自動化されたワークフロー、Webサービス、またはデスクトップアプリケーションに統合することができます。
ライブラリのクイックアクセス
IronXL APIリファレンスドキュメント
便利な IronXL API リファレンス ドキュメントを使用して、Excel スプレッドシートでセルを結合、結合解除、操作する方法の詳細を学び、共有します。
IronXL APIリファレンスドキュメントよくある質問
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のような形式に変換する際、特殊文字、複数行のセル、適切なエスケープを自動的に処理します。これにより、手作業による解析や書式の修正が不要になります。

