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

C#でCSVファイルに書き込む方法

この記事では、新しいプロジェクトでIronXLというC#ライブラリを使用してCSVファイルを書く方法を紹介します。

CSVファイルの書き方

  1. CSVファイルに書き込むためのC#ライブラリをインストールします。

  2. WorkBook.Createを使用して、新しいワークブックを作成します。

  3. WorkBook.CreateWorkSheetを使って、新しいワークシートを作成します。

  4. workSheet["cell name"].Valuevarを使って、個々のセルに値を追加します。

  5. SaveAsメソッドを使用して、スプレッドシートをCSVファイルとして保存します。

IronXL

IronXLは、CSVHelper NuGetパッケージと比較して、CSVファイルにデータを書き込むためのシームレスで強力なソリューションを求めるC#開発者にとって効率の灯台として浮上しています。 ソフトウェア開発の動的な風景の中で、データを扱い、操作する能力は非常に重要であり、IronXLはC#向けに特化された堅固なツールのセットでそれに応じています。

この記事は、CSVファイルにデータを書き込む過程を強化したいC#開発者にとって、IronXLを選択する理由となるフィーチャとメソッド論を探ります。シンプルさと正確さの完璧なバランスを提供しています。

新しいVisual Studioプロジェクトを作成

IronXLライブラリを使用し始めるには、最初のステップとして、新しいVisual Studio C#プロジェクトを作成するか、既存のプロジェクトを読み込む必要があります。 Visual Studioで新しいプロジェクトを生成する手順は以下の通りです:

  1. Visual Studioを開き、「ファイル」メニューに移動します。 ドロップダウンメニューが表示されます; このメニュー内で「新規」を選択します。 この操作でさらに別のサイドメニューが表示されます。

    How to Write A CSV File in C#, 図1: ファイルメニュー ファイルメニュー

  2. サイドメニューで「プロジェクト」を見つけてクリックします。 これにより、新しいウィンドウが開きます。 このウィンドウ内で、検索バーを利用して「コンソールアプリケーション」を見つけます。 C#に関連するオプションを選択し、次へボタンをクリックします。

    How to Write A CSV File in C#, 図2: 新規プロジェクト - コンソールアプリケーション 新規プロジェクト - コンソールアプリケーション

  3. 次に、設定ウィンドウが表示されます。 プロジェクト名を入力し、プロジェクトの場所を指定し、次へボタンをクリックします。

    How to Write A CSV File in C#, 図3: プロジェクトの設定 プロジェクトの設定

  4. 最後のウィンドウが表示されます。 ここで、ターゲットフレームワークを選び、作成ボタンをクリックしてプロジェクト作成プロセスを開始します。

    How to Write A CSV File in C#, 図4: ターゲットフレームワーク ターゲットフレームワーク

IronXL CSVライブラリのインストール

プロジェクトをセットアップしたので、IronXL C#ライブラリを組み込む時が来ました。 プロジェクトにIronXLをインストールする手順は次の通りです:

  1. Visual Studioで、ツールメニューに移動します。 ドロップダウンメニューが現れたら、このメニューからNuGetパッケージマネージャを選択します。
  2. NuGetパッケージマネージャ内で、展開されたサイドメニューから、ソリューションのNuGetパッケージの管理を選択します。

    How to Write A CSV File in C#, 図5: NuGetパッケージ NuGetパッケージ

  3. 新しいウィンドウがポップアップします。このウィンドウ内のブラウザタブに移動し、検索バーに「IronXL」と入力します。 IronXLパッケージのリストが表示されます; 最新のものを選択し、インストールボタンをクリックして進みます。

    How to Write A CSV File in C#, 図6: IronXL IronXL

IronXLを使用したCSVファイルの書き込み

C# CSVライブラリIronXLを使用して、CSVファイルにデータを書き込みます。 このセクションでは、新しいCSVファイルを作成し、その中にデータを書き込んでいきます。 以下の例では、IronXLライブラリを使用して簡単なレシートをCSVファイルに作成します。プログラムコードをステップバイステップで分解していきましょう。

IronXLとSystem.Linqのインポート

using IronXL; 
using System.Linq;

// This is the main class where execution starts.
public class Program {
    static void Main() {
        // Main method where all logic is executed
    }
}
using IronXL; 
using System.Linq;

// This is the main class where execution starts.
public class Program {
    static void Main() {
        // Main method where all logic is executed
    }
}
Imports IronXL
Imports System.Linq

' This is the main class where execution starts.
Public Class Program
	Shared Sub Main()
		' Main method where all logic is executed
	End Sub
End Class
$vbLabelText   $csharpLabel

これらの行は、Excelファイルの操作に必要なIronXLライブラリのクラスと機能、そしてSystem.Linq名前空間のLINQ拡張メソッドをインポートします。

WorkBookWorkSheetの作成

// Create a new workbook. This serves as the container for all worksheets.
WorkBook workBook = WorkBook.Create();

// Create a new worksheet within the workbook named "Receipt".
WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");
// Create a new workbook. This serves as the container for all worksheets.
WorkBook workBook = WorkBook.Create();

// Create a new worksheet within the workbook named "Receipt".
WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");
' Create a new workbook. This serves as the container for all worksheets.
Dim workBook As WorkBook = WorkBook.Create()

' Create a new worksheet within the workbook named "Receipt".
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Receipt")
$vbLabelText   $csharpLabel

このコードは、新しいExcelワークブック(WorkBook)とその中に「Receipt」という名前のワークシート(WorkSheet)を作成します。

ヘッダーの追加

// Set the header row for columns. Headers added for better understanding of data.
workSheet["A1"].Value = "Product"; 
workSheet["B1"].Value = "Price";
// Set the header row for columns. Headers added for better understanding of data.
workSheet["A1"].Value = "Product"; 
workSheet["B1"].Value = "Price";
' Set the header row for columns. Headers added for better understanding of data.
workSheet("A1").Value = "Product"
workSheet("B1").Value = "Price"
$vbLabelText   $csharpLabel

これらの行は、ワークシートの最初の行に列のヘッダー行を設定し、各列をラベル付けします。

商品情報の入力

// Populate worksheet with product data and their respective prices.
workSheet["A2"].Value = "Item 1"; 
workSheet["B2"].DoubleValue = 20.10; 

workSheet["A3"].Value = "Item 2"; 
workSheet["B3"].DoubleValue = 15.50; 

workSheet["A4"].Value = "Item 3"; 
workSheet["B4"].DoubleValue = 10.25;
// Populate worksheet with product data and their respective prices.
workSheet["A2"].Value = "Item 1"; 
workSheet["B2"].DoubleValue = 20.10; 

workSheet["A3"].Value = "Item 2"; 
workSheet["B3"].DoubleValue = 15.50; 

workSheet["A4"].Value = "Item 3"; 
workSheet["B4"].DoubleValue = 10.25;
' Populate worksheet with product data and their respective prices.
workSheet("A2").Value = "Item 1"
workSheet("B2").DoubleValue = 20.10

workSheet("A3").Value = "Item 2"
workSheet("B3").DoubleValue = 15.50

workSheet("A4").Value = "Item 3"
workSheet("B4").DoubleValue = 10.25
$vbLabelText   $csharpLabel

これらの行は、商品名や価格を含む3つの商品情報をワークシートに追加します。

合計価格の計算

// Define the range for price values to be summed.
var range = workSheet["B2:B4"];

// Calculate the sum of prices.
decimal sum = range.Sum();
// Define the range for price values to be summed.
var range = workSheet["B2:B4"];

// Calculate the sum of prices.
decimal sum = range.Sum();
' Define the range for price values to be summed.
Dim range = workSheet("B2:B4")

' Calculate the sum of prices.
Dim sum As Decimal = range.Sum()
$vbLabelText   $csharpLabel

LINQを使って、このコードはセルB2からB4までの価格の合計を計算します。合計はsum変数に格納されます。

WorkSheetでの合計の表示と更新

// Display the sum in the console.
System.Console.WriteLine(sum);

// Update the total price in the worksheet.
workSheet["B5"].Value = sum;
// Display the sum in the console.
System.Console.WriteLine(sum);

// Update the total price in the worksheet.
workSheet["B5"].Value = sum;
' Display the sum in the console.
System.Console.WriteLine(sum)

' Update the total price in the worksheet.
workSheet("B5").Value = sum
$vbLabelText   $csharpLabel

合計はコンソールに出力され、その後、ワークシートのセルB5にも更新されます。

ワークブックをCSVファイルとして保存

// Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv");
// Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv");
' Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv")
$vbLabelText   $csharpLabel

最後に、全ワークブックが「receipt.csv」という名前のCSVファイルとして保存されます。

要約すると、このコードはIronXLを使用してExcelワークシートに基本的なレシートを作成し、合計価格を計算してコンソールに表示し、その後ワークブック出力をCSVファイルとして保存します。レシートには「商品」と「価格」列が含まれ、個々の商品の価格に基づいて合計価格を計算します。

How to Write A CSV File in C#, 図7: ヘッダー付きレシートCSVファイル出力 ヘッダー付きレシートCSVファイル出力

結論

この包括的な記事は、C#でCSVファイルを書くことの重要性を強調し、IronXLライブラリを使ったプロセスを解説します。 このスキルが多様なデータ中心のアプリケーションにおける基本的な性質を強調し、C#エコシステム内のデータ操作タスクを簡素化し最適化するIronXLの能力を示しています。 プロジェクトのセットアップからIronXLを使ってレシートを作成し、CSVファイルとして保存するまでのステップバイステップのアプローチは、C#とのシームレスな統合に関する開発者の実践的理解を提供します。

多様性と効率を提供することで、IronXLはC#開発者にとって、プログラムを強化し、普及したCSV形式でデータを処理しエクスポートする能力を高めるための価値あるツールとなり、さまざまなソフトウェア開発シナリオにおいて重要な資産となります。

IronXL provides a solution for all Excel-related tasks to be done programmatically whether it be formula calculation, string sorting, trimming, finding and replacing, merging and unmerging, saving files etc. You can also set cell data formats.

CSVファイルへの書き込みに関する完全なチュートリアルについては、このブログをこちらでご覧ください。 CSVファイルを作成するコード例は、次のブログで見つけることができます。

IronXLは無料トライアルを提供しており、その能力を評価することができます。 プロジェクトに役立つと感じた場合は、$799からライセンスを購入できます。

よくある質問

Interopを使用せずにC#でCSVファイルを書くにはどうすればよいですか?

IronXLライブラリを利用すれば、Interopを必要とせずにC#でCSVファイルを書くことができます。IronXLを使うことで、ワークブックやワークシートを作成し、データを追加し、組み込みのメソッドを使って直接CSVファイルとして保存できます。

CSVファイルの書き込みにおいてIronXLがCSVHelperよりも持つ利点とは何ですか?

IronXLは、CSVの書き込み以上の幅広い機能を提供し、数式計算やセルの書式設定、さまざまなExcel形式へのエクスポートなどを可能にし、開発者にとって包括的なソリューションを提供します。

C#プロジェクトでIronXLを使用を開始するにはどうすればよいですか?

IronXLを使用するには、Visual StudioのNuGetパッケージマネージャーを介してインストールする必要があります。新しいC#プロジェクトを作成し、「ツール」に移動して「NuGetパッケージマネージャー」を選択し、「IronXL」を検索してインストールします。

IronXLはCSVの書き込み以外にもExcelファイルを操作するために使用できますか?

はい、IronXLは、Excelファイルの読み取りや書き込み、数式計算、複数のワークシートにわたるデータ管理など、幅広いExcel関連のタスクを処理することができます。

IronXLを使ってC#でワークシートにデータを追加するにはどうすればよいですか?

IronXLを使用してワークシートにデータを追加するには、識別子を使用して個々のセルにアクセスし、Valueプロパティを使用して値を割り当てます。その後、希望の形式でワークシートを保存できます。

IronXLを使ってワークブックをCSVファイルとして保存するにはどうすればよいですか?

IronXLでワークブックとワークシートを作成してデータを入力した後、SaveAsメソッドを使用して、ファイルパスと形式を指定してCSVファイルとして保存できます。

IronXLの評価用トライアルバージョンはありますか?

はい、IronXLは無料のトライアルバージョンを提供しており、開発者は購入を決定する前にその機能を探索し評価することができます。

IronXLを使ってワークシートの数字の合計を計算するにはどうすればよいですか?

IronXLを使用すると、C#のLINQ式との互換性を活用して、定義されたセル範囲を合計するためにLINQを使用してワークシートの数字の合計を計算できます。

IronXLを使用してC#でCSVファイルを書き込む際の一般的な問題は何ですか?

一般的な問題には、不正なファイルパスやアクセス許可、データ形式の不一致、またはデータフィールドの欠如などが含まれる可能性があります。適切なエラーハンドリングと検証でこれらの問題を軽減できます。

IronXLはC#プロジェクトで大規模なデータセットを効率的に処理できますか?

はい、IronXLは大規模なデータセットを効率的に処理するように設計されており、開発者が大規模なExcelファイルを読む、書く、操作する際に大きなパフォーマンスの遅れを発生させることなく操作できます。

Curtis Chau
テクニカルライター

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

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