フッターコンテンツにスキップ
IRONXLの使用

C#でファイルをCSVにエクスポートする方法

この記事では、.NET技術がどのようにプログラム的にMicrosoft Excelドキュメントとインターフェースできるかを、最もよく知られたライブラリの1つであるIronXLを使用して比較・対比します。 さらに、ExcelスプレッドシートをCSVファイルに書き込み、読み込み、エクスポートする設定を作成します。

1.1 .NET Frameworkとは何ですか?

Microsoftは、.NET Frameworkという独自のソフトウェアフレームワークを作成しました。これは、主にMicrosoft Windowsと互換性があります。 これは、クロスプラットフォームの.NETプロジェクトが位置を取るまで、主要な共通言語インフラストラクチャ (CLI) の実装として機能しました。 これは、いくつかの異なるプログラミング言語間での言語互換性を提供し、フレームワーククラスライブラリ (FCL) と呼ばれる大規模なクラスライブラリを伴います。

1.2 CSVとは何ですか?

「カンマ区切り値」と呼ばれるテキストファイル形式は、コンマを使用して値を別々の列に分割します。 CSV形式のファイルでは、表形式データがプレーンテキストで保存され、各行は通常単一のデータレコードに対応します。 CSVファイルでは、各レコードは同じ数のフィールドを持ち、コンマで区切られています。

2.0 IronXLライブラリの機能

Microsoft Excelドキュメントを読み取り、IronXL for .NET C# Excelライブラリを使用してCSVファイルに変換できます。 Microsoft OfficeやMicrosoft.Office.Interop.Excelをインストールしなくても、IronXLを単独で.NETソフトウェアライブラリとして利用できます。 複数のスプレッドシート形式を読み取ることができます。

IronXLのシンプルなC# APIにより、Excelスプレッドシートを.NETコンテキストで簡単に読み取り、編集し、生成できます。 IronXLは、Xamarin、Linux、macOS、Azure、.NET Core、.NET Frameworkを完全にサポートしています。

  • IronXLは、.NET Coreと.NET Frameworkの両方と互換性のあるC#ライブラリで、Excelスプレッドシートに最も適したものです。
  • IronXLは、Webアプリ、Windows Forms、コンソールを含むほぼすべての.NET Frameworkをサポートしています。
  • IronXLは、Linux、macOS、およびWindowsの各オペレーティングシステムで使用できます。
  • IronXLは、Excelファイルに迅速かつ簡単にアクセスできます。
  • IronXLは、XLSX、CSV、XLS、XLST、TSV、XLSMなど、幅広いExcelファイルタイプを読み取ることができます。 データテーブルとデータセットをインポート、更新、エクスポートする機能は、ライブラリの多くのオプションのほんの一部です。
  • Excelスプレッドシートに対してIronXLは計算を作成することができます。
  • IronXLは、テキスト、整数、日付、通貨、数式、パーセンテージなどを含むExcel列の多数のデータタイプをサポートしています。
  • IronXLは、日付、通貨、パーセンテージ、テキスト、数字、数式などの形式での複数の値を処理することができます

Excelにデータをエクスポートする方法については、このチュートリアルを参照してください。

3.0 Visual Studioで新しいプロジェクトを作成する

Visual Studioを開き、IronXLライブラリを使用する前に.NETプロジェクトを作成します。 Visual Studioはどのバージョンでも使用できますが、最新バージョンが推奨されます。 簡単にするために、この例ではコンソールアプリケーションを使用します。

 related to 3.0 Visual Studioで新しいプロジェクトを作成する **Visual Studioを開き、「ファイル」メニューに移動し、「新しいプロジェクト」を選択します。 さまざまな.NETプロジェクトテンプレートから「コンソールアプリ」を選択します。

その後、プロジェクトの場所と名前を入力します。

C#でファイルをCSVとしてエクスポートする方法、図2:Visual Studioで新しいプロジェクトを作成する Visual Studioで新しいプロジェクトを作成

フレームワークのドロップダウンメニューを使用して、.NET Frameworkを選択できます。 このプロジェクトでは.NET Framework 4.7を選択しました。 次に、作成ボタンをクリックします。

アプリケーションがソリューションを生成すると、program.csファイルが開き、コードの入力とプログラムの構築/実行が可能になります。

C#でファイルをCSVとしてエクスポートする方法、図3:コンソールアプリケーションプロジェクトが正常に作成されると、Program.csファイルが開きます。 コンソールアプリケーションプロジェクトが正常に作成されると、Program.csファイルが開きます。

コードをテストするには、次のステップとしてIronXLライブラリを追加します。

次の修正にはIronXLライブラリが必要なので、インストールしてください。 これを行うには、以下のコマンドをNuGet Package Manager Consoleに入力します。

Install-Package IronXL -Version 2023.8.29

C#でファイルをCSVとしてエクスポートする方法、図4:NuGet Package Manager ConsoleでIronXLパッケージをインストールする NuGet Package Manager ConsoleでIronXLパッケージをインストールする

別のオプションとして、NuGet Package Managerを使用して「IronXL」パッケージを検索し、IronXLに関連するすべてのNuGetパッケージのリストから必要なパッケージを選択してダウンロードできます。

C#でファイルをCSVとしてエクスポートする方法、図5:NuGet Package Managerを使用してIronXLパッケージをインストールする NuGet Package Managerを使用してIronXLパッケージをインストールする

4.0 CSVファイルにエクスポートする

IronXLにより、文字列配列をCSVファイルに簡単かつ迅速に作成できます。 CSVファイルの作成が簡単になります。 まず、以下のコードスナップショットに示すように、IronXL名前空間を含めます。 次に、提示されてから、以下のコードでIronXLのクラスとメソッドを使用します。

C#でファイルをCSVとしてエクスポートする方法、図6:IronXL名前空間を含める IronXL名前空間を含める

Excelファイルは、IronXLで作成され、ワークブックオブジェクトに変換されます。 このオブジェクトは、それらを操作するためのいくつかのメソッドを提供します。 次のコード例は、配列文字列をExcelワークシートに変換してExcelファイルを生成します。

using IronXL;
using IronXL.Options;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Array of student names
        string[] students = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };

        // Create a new workbook with an Excel file format of XLS
        var workBook = WorkBook.Create(ExcelFileFormat.XLS);

        // Get the default worksheet (where student data will be written)
        var workSheet = workBook.DefaultWorkSheet;

        // Start adding data to worksheet from row 1
        int rowCount = 1;
        foreach (var student in students)
        {
            // Set the value in column A for student ID
            workSheet["A" + rowCount].Value = rowCount.ToString();

            // Set the value in column B for student name
            workSheet["B" + rowCount].Value = student.ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("Sample.csv", ";");

        // Alternately, convert the workbook to a stream
        var stream = workBook.ToStream();
    }
}
using IronXL;
using IronXL.Options;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Array of student names
        string[] students = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };

        // Create a new workbook with an Excel file format of XLS
        var workBook = WorkBook.Create(ExcelFileFormat.XLS);

        // Get the default worksheet (where student data will be written)
        var workSheet = workBook.DefaultWorkSheet;

        // Start adding data to worksheet from row 1
        int rowCount = 1;
        foreach (var student in students)
        {
            // Set the value in column A for student ID
            workSheet["A" + rowCount].Value = rowCount.ToString();

            // Set the value in column B for student name
            workSheet["B" + rowCount].Value = student.ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("Sample.csv", ";");

        // Alternately, convert the workbook to a stream
        var stream = workBook.ToStream();
    }
}
Imports IronXL
Imports IronXL.Options
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Array of student names
		Dim students() As String = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" }

		' Create a new workbook with an Excel file format of XLS
		Dim workBook = WorkBook.Create(ExcelFileFormat.XLS)

		' Get the default worksheet (where student data will be written)
		Dim workSheet = workBook.DefaultWorkSheet

		' Start adding data to worksheet from row 1
		Dim rowCount As Integer = 1
		For Each student In students
			' Set the value in column A for student ID
			workSheet("A" & rowCount).Value = rowCount.ToString()

			' Set the value in column B for student name
			workSheet("B" & rowCount).Value = student.ToString()
			rowCount += 1
		Next student

		' Save the workbook as a CSV file with a specified delimiter
		workBook.SaveAsCsv("Sample.csv", ";")

		' Alternately, convert the workbook to a stream
		Dim stream = workBook.ToStream()
	End Sub
End Class
$vbLabelText   $csharpLabel

上記のコード例は、配列をExcelファイルにエクスポートします。配列を構築すると、列のヘッドが作成されます。 最初の列が確立された後、行が1つずつ追加されます。 WorkBookオブジェクトは、データが配列文字列に追加された後に作成されます。 WorkBookオブジェクトを使用してExcelシートにデータを追加し、別の場所に保存できます。 目的は、ワークシートを作成し、それをワークブックオブジェクトにリンクできるWorkSheetオブジェクトを作成することです。

foreachループを使用して、配列文字列から各項目を読み取り、スプレッドシートに追加する直前に使用します。 データがワークシートに入力された後、SaveAsCsvメソッドを使用して、データがCSVファイルとして保存されます。 区切り文字とともに、ファイル名と場所もオプションのパラメーターとして提供できます。 ライブラリは、新しいCSVファイルへのデータの書き込みを支援します。Microsoft Excelを使用せずにCSVファイルを読み取る場合は、メモ帳を使用できます。 IronXLは、Saveメソッドを使用することで、XLS、CSV、XLSXなどの複数のファイル形式でのデータの保存もサポートします。 または、ワークブックをストリームに変換し、必要な場所にデータを書き込むことができます。

出力CSVファイル

C#でファイルをCSVとしてエクスポートする方法、図7:出力されたExcelファイル 出力されたExcelファイル

上記は、実行されたコードサンプルの出力です。 スクリーンショットの新しく生成されたExcelシートには、文字列配列の各データ項目が個別に追加されています。

IronXLを使用してCSVにデータをエクスポートする方法について詳しくは、このステップバイステップのチュートリアルを参照してください。

5.0 結論

最も人気のあるExcelアドオンの1つはIronXLです。 これは、他の外部ライブラリに依存しません。 自己完結型で、Microsoft Excelのインストールを必要としません。 それはいくつかのチャネルを通じて動作します。

IronXLは、プログラム的に実行されるMicrosoft Excelドキュメント関連のタスクに対する完全なソリューションを提供します。 計算を実行したり、文字列や数字をソートしたり、トリムしたり、追加したり、検索して置き換えたり、結合や解除、ファイル保存などが可能です。 スプレッドシートデータをチェックするだけでなく、セルデータ型を定義できます。 ファイルの読み取りや書き込みを可能にし、Excelデータの取り扱いを簡素化します。

IronXLは無料トライアルライセンスを提供し、ユーザーはすべての主要機能を無料で試すことができます。

IronXLは、初期価格で$799で利用可能です。 ユーザーがソフトウェアの更新やサポートを希望する場合、1年間のサブスクリプション料金を支払うこともできます。 追加料金を支払うことで、IronXLは無制限の再配布の保護を提供します。 より正確な価格情報を見つけるには、IronXLのライセンスページを訪れてください。

よくある質問

C# で Excel データを CSV にプログラムでエクスポートするにはどうすればよいですか?

C# で Excel データを CSV にプログラムでエクスポートするには、IronXL を使用できます。まず、C# プログラムでワークブックとワークシートを作成し、データを入力してから、SaveAsCsv メソッドを使用してデータを CSV ファイルにエクスポートします。

C# を使用して CSV にエクスポートするには Microsoft Excel をインストールする必要がありますか?

いいえ、Microsoft Excel はインストールする必要はありません。IronXL は独立した .NET ライブラリであり、Microsoft Office や Microsoft.Office.Interop.Excel を必要とせずに Excel ファイルを読み取り、編集し、CSV にエクスポートできます。

Visual Studio プロジェクトに IronXL をインストールする方法を教えてください。

NuGet パッケージ マネージャー コンソールを使用して Visual Studio プロジェクトに IronXL をインストールできます。「Install-Package IronXL -Version 2023.8.29」コマンドを実行して、IronXL をプロジェクトに追加します。

C# の Excel タスクに IronXL を使用する利点は何ですか?

IronXL は、Excel スプレッドシートを CSV ファイルに読み取り、編集、エクスポートするための強力な一連の機能を提供します。さまざまな .NET フレームワークとオペレーティング システムをサポートしており、外部ライブラリを必要とせずにさまざまな環境で柔軟に使用できます。

IronXL は Excel ファイル内の計算やデータ操作を処理できますか?

はい、IronXL は Excel ファイル内の計算、ソート、マージ、異なるデータ型の管理が可能で、Excel 関連のタスクに対する包括的なソリューションを提供します。

IronXL は Excel 統合用にどのプラットフォームをサポートしていますか?

IronXL は、.NET Core、.NET Framework、Xamarin、Linux、macOS、Azure、Windows など、複数のプラットフォームをサポートしており、さまざまなシステムでの柔軟な展開が可能です。

IronXL が読み書きできるファイル形式は何ですか?

IronXL は、XLSX、CSV、XLS、XLST、TSV、XLSM など、さまざまな Excel ファイル形式を読み書きでき、シームレスなデータ統合とエクスポートを可能にします。

IronXL のトライアル版はありますか?

はい、IronXL は、完全なライセンスを購入する前に機能と機能性を探求できる無料トライアル版を提供しています。

C# を使用してデータの配列を CSV ファイルに変換するにはどうすればよいですか?

IronXL を使用すると、データの配列を Excel ワークシートに変換し、その後 SaveAsCsv メソッドを使用して CSV ファイルとしてエクスポートできるため、データ変換が簡単で効率的です。

Curtis Chau
テクニカルライター

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

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