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

C#でCSVファイルにデータを書き込む方法

この記事では、IronXLを使用してCSVファイルをどのように書くかについて探ります。

IronXLライブラリー

IronXLは、C#アプリケーションでスプレッドシートファイルを作成、読み取り、編集するための包括的な機能を提供する.NET Excelライブラリです。 パフォーマンスと出力精度の点で優れています。 XLS、XLSX、XLSM、CSV、およびTSVなどのさまざまなスプレッドシートワークブックファイル形式をサポートしています。さらに、ExcelファイルからCSV、JSON、HTML、バイナリ、バイト配列、DataSet、またはDataTableの形式でデータを保存またはエクスポートできるようにします。

IronXLを使用すると、開発者はシームレスにワークシートやセル範囲と連携し、データを操作する優雅な手法を提供します。 式の簡単な編集を許可し、シート内の式の再計算を促進します。 範囲、列、または行に基づいたデータの並べ替えは簡単です。 また、ウインドウ枠の固定行/列の自動サイズ調整、および行/列の追加/削除によってレイアウトを変更することもできます。

IronXLは、ユーザーのパスワードでExcelファイルを保護し、編集のための権限を設定する機能を提供しています。 さらに、Excelワークシートから画像を追加、削除、および抽出する機能も提供しています。 このライブラリには、さまざまなセルデータ形式をサポートする幅広いExcel関数が含まれています。 これにより、IronXLはExcelファイルを操作するための最も直感的なAPIの1つとなっています。

IronXLの顕著な利点は、Microsoft ExcelまたはOffice Interopの依存関係をマシンにインストールする必要がないことです。それは自己完結型のソリューションで、複数のプラットフォームで動作し、.NETバージョン7、6、および5と互換性があります。また、.NET Coreの2と3、標準の2バージョンもサポートしています。 Excelスプレッドシートを操作するためには、IronXLは.NET Framework 4.5以降のバージョンと互換性があります。

コンソールアプリケーションを作成する

アプリケーションを開始するには、Visual Studioの最新バージョンをお勧めします。 Visual StudioはC#開発の正式なIDEであり、インストールが必須です。 インストールされていない場合は、Microsoft Visual Studioのウェブサイトからダウンロードできます。

次の手順で"DemoApp"という新しいプロジェクトを作成します。

  1. Visual Studio を開き、"新しいプロジェクトを作成"をクリックします。

    C# で CSV ファイルにデータを書き込む方法、図 1: Visual Studio を開く Visual Studio を開く

  2. コンソールアプリケーションを選択して"次へ"をクリックします。

    C# で CSV ファイルにデータを書き込む方法、図 2: Visual Studio で新しいプロジェクトを作成する Visual Studio で新しいプロジェクトを作成する

  3. プロジェクトの名前を設定します

    C# で CSV ファイルにデータを書き込む方法、図 3: 新しいプロジェクトの構成 新しいプロジェクトを構成する

  4. .NET バージョンを選択します。 安定版バージョン.NET 6.0を選択します。

    C# で CSV ファイルにデータを書き込む方法、図 4: .NET Framework の選択 .NET Framework の選択

IronXL ライブラリをインストールする

プロジェクトが作成されたら、IronXLライブラリをプロジェクトにインストールして使用します。 それをインストールするために次のステップに従います。

  1. ソリューションエクスプローラーまたはツールからNuGetパッケージマネージャーを開きます。

    C# で CSV ファイルにデータを書き込む方法、図 5: NuGetパッケージ マネージャーに移動します NuGet パッケージ マネージャーに移動する

  2. IronXLライブラリを検索し、現在のプロジェクトを選択します。 インストールをクリックします。

    C# で CSV ファイルにデータを書き込む方法、図 6: NuGetパッケージ マネージャー UI でIronXLパッケージを検索してインストールする NuGetパッケージマネージャUIでIronXLパッケージを検索してインストールする

Program.cs ファイルの先頭に次の名前空間を追加してください。

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

Create a New Workbook in C

IronXLは空のワークブックを作成する機能を提供します。 ワークブックは複数のワークシートを含むスプレッドシートです。 データはセルに格納されています。 CSVもスプレッドシートのように見えますが、CSVファイル拡張子を持っています。

// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();
$vbLabelText   $csharpLabel

それでは、 WorkBookにシートを作成しましょう。 ワークブックでワークシートを作成する方法は複数あります。

// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
$vbLabelText   $csharpLabel

既存のワークブックにシートを追加する場合は、 CreateWorkSheetメソッドを使用します。

注: CSV ファイルが既に存在する場合は、 WorkBook.LoadCSVメソッドを使用できます。 最後のステップはCSVファイルを保存することです。IronXLはワークブックをCSVファイルとして保存するSaveAsCsvメソッドを提供します。最初のパラメーターはCSVファイル名、2番目はデリミタです。

WorkSheet にデータを書き込む

IronXLを使用すると、CSVファイルの書き込みが簡単です。 CSVにデータを書き込むExcelの機能を提供します。セル参照を使用して指定された場所に値を追加できます。 ここでは、foreach ループを使用して、いくつかの従業員のレコードを追加します。

// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

// Starting row for data entry
int i = 2;

// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";

// Populate each row with employee data
foreach (var employee in employeeNames)
{
    // Set values for ID, Name, and Salary
    sheet["A" + i].Value = i;
    sheet["B" + i].Value = employee;
    sheet["C" + i].Value = i * 1000;
    i++;
}
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

// Starting row for data entry
int i = 2;

// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";

// Populate each row with employee data
foreach (var employee in employeeNames)
{
    // Set values for ID, Name, and Salary
    sheet["A" + i].Value = i;
    sheet["B" + i].Value = employee;
    sheet["C" + i].Value = i * 1000;
    i++;
}
$vbLabelText   $csharpLabel

上記のコード例では、employeeNames の配列が作成され、最初の行に ID、Name、Salary というヘッダーが設定されます。 変数 i も値 2 で初期化され、ヘッダーの下の 2 行目からレコードが挿入されます。 foreach ループはリストから各従業員を処理し、IDと給与値とともに現在の行に追加します。 ループが完了する前に、i がインクリメントされ、次のレコードの次の行に移動します。

CSVファイルにデータを保存する

最後のステップは、CSV ファイルを保存することです。IronXLは、ワークブックを CSV ファイルとして保存するためのメソッドSaveAsCsvが用意されています。このメソッドの最初のパラメータは CSV ファイル名、2 番目のパラメータは区切り文字です。

// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
$vbLabelText   $csharpLabel

完全なコードは次のとおりです。

using System;
using IronXL;

class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

        // Initialize an array of employee names
        string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

        // Starting row for data entry
        int i = 2;

        // Setting header titles for the columns
        sheet["A1"].Value = "ID";
        sheet["B1"].Value = "Name";
        sheet["C1"].Value = "Salary";

        // Populate each row with employee data
        foreach (var employee in employeeNames)
        {
            // Set values for ID, Name, and Salary
            sheet["A" + i].Value = i;
            sheet["B" + i].Value = employee;
            sheet["C" + i].Value = i * 1000;
            i++;
        }

        // Save the modified workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("sample.csv", ",");
    }
}
using System;
using IronXL;

class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

        // Initialize an array of employee names
        string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

        // Starting row for data entry
        int i = 2;

        // Setting header titles for the columns
        sheet["A1"].Value = "ID";
        sheet["B1"].Value = "Name";
        sheet["C1"].Value = "Salary";

        // Populate each row with employee data
        foreach (var employee in employeeNames)
        {
            // Set values for ID, Name, and Salary
            sheet["A" + i].Value = i;
            sheet["B" + i].Value = employee;
            sheet["C" + i].Value = i * 1000;
            i++;
        }

        // Save the modified workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("sample.csv", ",");
    }
}
$vbLabelText   $csharpLabel

出力

C# で CSV ファイルにデータを書き込む方法、図 7: 出力 CSV ファイル 出力されたCSVファイル

まとめ

この記事は、IronXLを使用してC#でCSVファイルを書くためのシンプルなアプローチを示しています。 IronXLは既存のCSVファイルを問題なく扱う機能も提供しています。 また、CSVファイルの書き込み、新しいExcelファイルの作成、および簡単な構文でそれらにデータを書くことも可能です。 IronXLを使用して、Microsoft Officeをインストールせずに、Excelファイルを読み書きできます。 さまざまなスプレッドシート形式間の変換については、このコード例ページを参照できます。

IronXL は開発用に無料で、商用利用のためにライセンスを取得できます。 商業利用のためのIronXLの無料トライアルも試すことができます。

よくある質問

C#でCSVファイルにデータを書き込むにはどうすればよいですか?

IronXLの`SaveAsCsv`メソッドを使用して、C#でデータをCSVファイルにエクスポートできます。まず、ワークブックとワークシートを作成し、セルにデータを書き込み、その後`workBook.SaveAsCsv("filename.csv", ",");`を使用してCSVファイルとして保存します。

CSVファイルを書き込むためのコンソールアプリケーションを作成する手順は何ですか?

CSVファイルを書き込むためのコンソールアプリケーションを作成するには、Visual Studioで新しいプロジェクトをセットアップし、適切な.NETバージョンを選択し、NuGetパッケージマネージャーからIronXLをインストールします。その後、IronXLを使用してワークブックを作成し、ワークシートにデータを追加し、CSVとして保存します。

Microsoft Excelを使用せずにCSVファイルにデータを書き込めますか?

はい、IronXLを使用してMicrosoft Excelを使用せずにCSVファイルにデータを書き込むことができます。これにより、ExcelをインストールすることなくプログラムでExcelおよびCSVファイルを操作できます。

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

Visual StudioのNuGetパッケージマネージャーを開き、'IronXL'を検索して'インストール'をクリックすると、プロジェクトに追加することができます。これにより、ExcelおよびCSVファイルを操作するためのIronXLの機能を利用できるようになります。

IronXLはどのファイル形式をエクスポートにサポートしていますか?

IronXLは、CSV、JSON、HTML、バイナリ、バイト配列、データセット、およびデータテーブルなど、さまざまな形式へのエクスポートをサポートしており、さまざまなデータ処理ニーズに対応できます。

IronXLは異なる.NETバージョンに対応していますか?

はい、IronXLは多数 for .NETバージョン、.NET Core 2および3、.NET 5、6、7に対応しており、異なる開発環境での柔軟性を提供します。

IronXLを商用プロジェクトで使用できますか?

はい、IronXLは商業目的でライセンスできます。また、開発用途での無料試用版を提供しており、開発者が商用ライセンスを取得する前にその機能を試すことができます。

C#でIronXLを使用して新しいワークブックとワークシートを作成するにはどうすればよいですか?

`WorkBook.Create()`を利用してワークブックオブジェクトを初期化し、その後新しいワークシートを追加することで、新しいワークブックとワークシートを作成できます。これにより、ワークシートにデータを書き始めることができます。

IronXLはOffice Interop依存性が必要ですか?

いいえ、IronXLはスタンドアロンライブラリであり、Office Interop依存性は必要ありません。これにより、さまざまなプラットフォームでのアプリケーションに簡単に使用およびデプロイできます。

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

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね