IronXLを使用してC#でCSVを記述する方法

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

IronXLは、.NETでCSVファイルにデータを書き込む簡単な方法を提供します。.NETでExcelのワークブックを読み込み、1行のコードでCSVフォーマットとして保存し、手作業による解析を排除します。

クイックスタート:IronXLでExcelワークブックをCSVとして保存する

この例では、IronXLを使用して既存のExcelファイルをCSVに変換する方法を示します。 ワークブックをロードし、SaveAsCsvを呼び出します。

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

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

    PM > Install-Package IronXL.Excel

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

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

    今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう
    arrow pointer
## .NETでCSVを書く方法
  • IronXLライブラリを追加する
  • C#でワークブックを作成する
  • Excel ワークブックを CSV ファイル形式で保存する
How To Work related to IronXLを使用してC#でCSVを記述する方法</h2>.

ステップ1

プロジェクトにIronXLを追加するには?

どのインストール方法を使用すべきですか?

IronXLをまだインストールしていない場合は、以下の手順に従ってください:

  • Visual Studioを開き、プロジェクトメニューを選択します。
  • NuGetパッケージの管理をクリックします。
  • IronXL.Excelを検索します。
  • インストールをクリックします。

コマンドラインを使用したい場合はどうすればよいですか?

Developerコマンドプロンプトで次のコマンドを使用してください:

Install-Package IronXL.Excel

その他のリソースはどこで見つけることができますか?

その他のチュートリアルやガイダンスについては、こちらをご覧ください:https://ironsoftware.com/csharp/excel/docs/. CSVの読み取り操作については、C#でCSVファイルを読み取る方法のガイドを参照してください。 サンプルプロジェクトをダウンロードする こちら.


チュートリアル

CSVエクスポート用のExcelワークブックを作成するにはどうすればよいですか?

ワークブックにはどのようなデータを含めるべきですか?

CSV(Comma-Separated Values)ファイルは、そのシンプルなフォーマットと普遍的な互換性により、アプリケーション間のデータ交換に広く使用されています。 分析のためのデータのエクスポート、レポートの作成、他のシステムとの統合など、IronXLはそのプロセスをシームレスにします。

まず、サンプルデータを含むExcelワークブックを作成します。 プログラムでExcelファイルを作成する際にヘルプが必要な場合は、tutorial on creating Excel files in .NETをご覧ください:

CSVエクスポートが可能なヘッダーと行を持つサンプルデータを示すExcelスプレッドシート
図1 - CSVにエクスポートされる通常のExcelデータ

どの名前空間をインポートする必要がありますか?

C#でCSVファイルを書くためにIronXL名前空間を追加してください:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

ワークブックをCSVとして保存するには?

ExcelをCSVに変換するにはどのようなコードが必要ですか?

次のC#コードは、WorkBookオブジェクトのLoadメソッドを使ってExcelファイルをロードし、SaveAsメソッドを使ってCSVとして保存することを示しています。この方法は、データ型、特殊文字、フォーマットを自動的に処理します:

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

// Load the existing Excel workbook
WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx"); // Import .xls, .csv, or .tsv file

// Save the workbook as a CSV file with the worksheet name appended
wb.SaveAs("Excel_To_CSV.csv"); // Exported as: Excel_To_CSV.Sheet1.csv
Imports IronXL

' Load the existing Excel workbook
Dim wb As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx") ' Import .xls, .csv, or .tsv file

' Save the workbook as a CSV file with the worksheet name appended
wb.SaveAs("Excel_To_CSV.csv") ' Exported as: Excel_To_CSV.Sheet1.csv
$vbLabelText   $csharpLabel

特定のワークシートを CSV に保存するにはどうすればよいですか?

複数シートのワークブックを扱う場合、特定のワークシートをエクスポートすることができます。 IronXLはこのようなシナリオに柔軟に対応します。 ワークシートの管理については、当社のドキュメントを参照してください:

using IronXL;

// Load workbook and access specific worksheet
WorkBook workBook = WorkBook.Load("MultiSheet_Excel.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Sales_Data");

// Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv");

// Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter: "\t");
using IronXL;

// Load workbook and access specific worksheet
WorkBook workBook = WorkBook.Load("MultiSheet_Excel.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Sales_Data");

// Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv");

// Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter: "\t");
Imports IronXL

' Load workbook and access specific worksheet
Dim workBook As WorkBook = WorkBook.Load("MultiSheet_Excel.xlsx")
Dim sheet As WorkSheet = workBook.GetWorkSheet("Sales_Data")

' Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv")

' Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter:=vbTab)
$vbLabelText   $csharpLabel

CSV出力はどのように見えますか?

出力CSVファイルは、テキストエディタで開くと以下のように表示されます。 IronXLがコンマを区切り文字として適切にデータをフォーマットし、特殊文字を含むテキストフィールドを処理していることに注目してください:

適切なフォーマットと構造を持つカンマ区切りデータを示すCSVファイルのテキストエディタビュー
図2 -出力CSVファイル

複数のワークシートを扱うにはどうすればよいですか?

Excelファイルに複数のワークシートが含まれている場合、IronXLはCSVエクスポートのためのいくつかのアプローチを提供します。 スプレッドシート ファイルの種類の変換については、包括的なガイドを参照してください:

using IronXL;
using System;

// Load workbook with multiple sheets
WorkBook workBook = WorkBook.Load("MultipleSheets.xlsx");

// Method 1: Export all sheets to separate CSV files
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    string fileName = $"{sheet.Name}_Export.csv";
    sheet.SaveAsCsv(fileName);
    Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}

// Method 2: Combine all sheets into one CSV
var combinedData = workBook.GetWorkSheet(0);
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
    var currentSheet = workBook.GetWorkSheet(i);
    // Add logic to append data from currentSheet to combinedData
}
combinedData.SaveAsCsv("Combined_Output.csv");
using IronXL;
using System;

// Load workbook with multiple sheets
WorkBook workBook = WorkBook.Load("MultipleSheets.xlsx");

// Method 1: Export all sheets to separate CSV files
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    string fileName = $"{sheet.Name}_Export.csv";
    sheet.SaveAsCsv(fileName);
    Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}

// Method 2: Combine all sheets into one CSV
var combinedData = workBook.GetWorkSheet(0);
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
    var currentSheet = workBook.GetWorkSheet(i);
    // Add logic to append data from currentSheet to combinedData
}
combinedData.SaveAsCsv("Combined_Output.csv");
Imports IronXL
Imports System

' Load workbook with multiple sheets
Dim workBook As WorkBook = WorkBook.Load("MultipleSheets.xlsx")

' Method 1: Export all sheets to separate CSV files
For Each sheet As WorkSheet In workBook.WorkSheets
    Dim fileName As String = $"{sheet.Name}_Export.csv"
    sheet.SaveAsCsv(fileName)
    Console.WriteLine($"Exported {sheet.Name} to {fileName}")
Next

' Method 2: Combine all sheets into one CSV
Dim combinedData = workBook.GetWorkSheet(0)
For i As Integer = 1 To workBook.WorkSheets.Count - 1
    Dim currentSheet = workBook.GetWorkSheet(i)
    ' Add logic to append data from currentSheet to combinedData
Next
combinedData.SaveAsCsv("Combined_Output.csv")
$vbLabelText   $csharpLabel

パフォーマンスについてはどう思いますか?

IronXLは大きなExcelファイルに対して、メモリ使用量を最小限に抑える効率的なストリーミング機能を提供します。 膨大なデータセットを扱う場合は、IronXLの最適化されたメソッドを使用してください。 高度なシナリオについては、さまざまなフォーマットへのデータのエクスポートに関するガイドを参照してください。

データテーブルを使用できますか?

IronXLは.NETのDataTable構造とシームレスに統合されており、データベースやインメモリコレクションから簡単にデータをエクスポートできます。 DataTableをCSVに変換するのチュートリアルを参照してください:

using IronXL;
using System.Data;

// Create a DataTable with sample data
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Price", typeof(decimal));

// Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99m);
dataTable.Rows.Add(2, "Product B", 49.99m);

// Convert DataTable to WorkSheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Products");
sheet.InsertDataTable(dataTable, "A1");

// Save as CSV
workBook.SaveAsCsv("Products.csv");
using IronXL;
using System.Data;

// Create a DataTable with sample data
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Price", typeof(decimal));

// Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99m);
dataTable.Rows.Add(2, "Product B", 49.99m);

// Convert DataTable to WorkSheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Products");
sheet.InsertDataTable(dataTable, "A1");

// Save as CSV
workBook.SaveAsCsv("Products.csv");
Imports IronXL
Imports System.Data

' Create a DataTable with sample data
Dim dataTable As New DataTable()
dataTable.Columns.Add("ID", GetType(Integer))
dataTable.Columns.Add("Name", GetType(String))
dataTable.Columns.Add("Price", GetType(Decimal))

' Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99D)
dataTable.Rows.Add(2, "Product B", 49.99D)

' Convert DataTable to WorkSheet
Dim workBook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Products")
sheet.InsertDataTable(dataTable, "A1")

' Save as CSV
workBook.SaveAsCsv("Products.csv")
$vbLabelText   $csharpLabel

ライセンスはどのように設定しますか?

CSVエクスポートソリューションを導入する前に、IronXLライセンスを適切に設定してください。 ライセンスキーの使用に関するガイドを参照して、さまざまな環境でのライセンスの適用について学んでください。


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

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

Learn more and share how to merge, unmerge, and work with cells in Excel spreadsheets using the IronXL APIリファレンスドキュメント. For detailed method signatures and additional CSV export options, consult our [API Reference](https://ironsoftware.com/csharp/excel/object-reference/api/).

IronXL APIリファレンスドキュメント
Documentation related to ライブラリのクイックアクセス

よくある質問

C#でCSVファイルを手動で解析せずに記述するにはどうすればよいですか?

IronXLはC#でCSVファイルを記述するためのシンプルな1行ソリューションを提供します。Excelワークブックを読み込み、SaveAsCsvメソッドを使用してCSV形式で保存することで、手動での解析や複雑な文字列操作が不要になります。

.NETでExcelをCSVに変換する最速の方法は何ですか?

IronXLを使えば、たった1行のコードでExcelファイルをCSVに変換することができます:IronXL.WorkBook.Load("MyExcel.xlsx").SaveAsCsv("MyExcel.csv")。これはすべてのデータ型、特殊文字、フォーマットを自動的に処理します。

C#でCSVファイルを書き込むためのライブラリはどのようにインストールするのですか?

IronXLはVisual StudioのNuGetパッケージ・マネージャから'IronXL.Excel'を検索してインストールするか、開発者コマンド・プロンプトから適切なインストール・コマンドを使用してインストールすることができます。

CSV操作にはどの名前空間をインポートする必要がありますか?

IronXLを使ってCSVファイルを書くには、C#ファイルの先頭に'using IronXL;'を追加してIronXL名前空間をインポートする必要があります。

特定のワークシートをCSV形式で保存できますか?

はい、IronXLではExcelワークブックから個々のワークシートをCSV形式で保存することができます。

CSVに変換する場合、どのようなデータ形式がサポートされますか?

IronXLはExcelのワークブックをCSV形式に変換する際、テキスト、数字、日付、特殊文字を含む様々なデータタイプを自動的に処理し、変換プロセス全体を通してデータの整合性を保証します。

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

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

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

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