IRONXLの使用

C#でデータセットをCSVに変換する方法

更新済み 2024年2月20日
共有:

以下の記事では、C#のデータセットをCSVファイルに変換する方法を示します。

IronXLCSV形式またはExcelファイルでスプレッドシートを扱うための優れたソリューションです。 IronXLは開発に無料で、使いやすく、あらゆる種類のスプレッドシートと連携するための広範な機能を提供します。 それは安全であり、高性能を提供します。 続行する前に、IronXLについて簡単に紹介しましょう。

IronXL

IronXLは、開発者が最新のスプレッドシート機能を備えたスプレッドシートファイル(xls、xlsx、csvなど)を生成、操作、および利用するための強力なツールです。このライブラリは、.NET、Python、Javaなどのプログラミング言語で使用できます。IronXLを活用することで、アプリケーションにおけるデータ処理や分析を効率的に行うことができます。

主な機能:

  • スプレッドシートの作成と編集:
    • 新しいスプレッドシートファイルの作成
    • 既存のスプレッドシートファイルの読み込みおよび編集
  • セル、行、および列の操作
  • データ操作:
    • データのフィルタリングおよび並べ替え
    • 数式および関数の使用
  • セルスタイルとフォーマットの設定
  • インポートおよびエクスポート:
    • csv、xls、xlsx、tsvファイルなどのインポートおよびエクスポート
    • 複数のシートのサポート

IronXLはまた、Excelのスタイルやフォーマットの設定を簡単に行える機能も提供しており、開発者がユーザーフレンドリーなスプレッドシートソリューションを作成するのを助けます。また、IronXLは信頼性の高いパフォーマンスを提供し、スプレッドシート関連の多くのタスクを迅速かつ効率的に処理します。

IronXLを使用することで、複雑なデータ操作タスクを簡単に自動化し、スプレッドシート管理の効率を大幅に向上させることができます。

IronXLはIron Softwareライブラリは、C#開発者がExcelを読み取り、生成し、編集することを可能にします。(およびその他のスプレッドシートファイル).NETアプリケーションおよびウェブサイト内で。

IronXLは、C#および.NETでExcelおよびその他のスプレッドシートファイルを操作するための迅速かつ簡単な方法です。 IronXL は、Office Excel Interop を必要とせずに、.NET Framework、.NET Core、および Azure と良好に動作します。 IronXLはMicrosoft Officeをインストールする必要がなく、そのような依存関係も含まれていません。

データセット用のCSVファイルを作成するコードを書いてみましょう。

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

Visual Studio IDEを開きます。最新バージョンのVisual Studioが推奨されますが、お好みに合わせてどのバージョンでも使用できます。 バージョンによって新しいプロジェクトを作成する手順が異なる場合があることにご留意ください。

C#でデータセットをCSVに変換する方法、図1: Visual Studioのスタートウィンドウ

Visual Studioのスタートウィンドウ

「Create a New Project」をクリックしてください。 以下のように新しいウィンドウが表示されます。

データセットをCSVに変換する方法(C#)、図2:Visual Studioで新しいプロジェクトを作成する

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

リストから希望するプロジェクトテンプレートを選択してください。次へボタンをクリックすると、以下のような新しいウィンドウが表示されます。

C#でデータセットをCSVに変換する方法、図3:新しく作成されたプロジェクトを構成する

新しく作成したプロジェクトを構成する

プロジェクトに名前を付け、場所を選択して、次へ ボタンを押してください。 以下のように新しいウィンドウが表示されます。

データセットをC#でCSVに変換する方法, 図4: .NET Frameworkバージョンを選択

.NETフレームワークのバージョンを選択

ターゲットの.NET Frameworkを選択してください。 IronXLはすべての.NET Frameworkをサポートしているため、ニーズに合った任意の.NET Frameworkを選択できます。 このチュートリアルでは .NET 7 を使用します。Create ボタンをクリックすると、以下に示すように新しいプロジェクトが作成されます。

C#でデータセットをCSVに変換する方法、図5: Visual Studioの新しいコンソールアプリケーション

Visual Studio で新しいコンソール アプリケーション

では、このアプリケーションで使用するためにIronXL NuGetパッケージをインストールしてください。

IronXLをインストール

NuGetパッケージマネージャーコンソールを開き、以下のコマンドを入力します。

Install-Package IronXL.Excel

についてNuGetパッケージ下記のようにインストールされ、使用する準備が整います。

![データセットをC#でCSVに変換する方法

図6: IronXLパッケージとそのパッケージ依存関係のインストール](/static-assets/excel/blog/convert-dataset-to-csv-tutorial/convert-dataset-to-csv-tutorial-6.webp)

IronXLパッケージおよびそのパッケージ依存関係のインストール

さて、C#でデータセットをCSVファイルに変換するコードを書いてみましょう。

この例では、SQLサーバーデータベースからデータを取得します。 SQLデータベースからデータセットを取得した後、この入力データを使用してCSVファイルを作成します。

データテーブルの作成

最初のステップはSQLからデータを取得することですが、好みのデータソースを使用することもできます。

このチュートリアルでは、次のデータを使用します:

C#でデータセットをCSVに変換する方法, 図7: サンプルデータを使用して新しいデータベースを作成する

サンプルデータを使用して新しいデータベースを作成する

以下はサンプルデータを作成するためのSQLスクリプトです:

USE Test_DB

Create Table STUDENT_DATA
(
    REG_NUM INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CLASS VARCHAR(5),
    CONTACT_NUM VARCHAR(15)
);

INSERT INTO STUDENT_DATA
VALUES
(123, 'JHON', 'SMITH', '2', '(223) 444-1234'),
(124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'),
(125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'),
(126, 'JAMES', 'BOND', '2', '(543) 777-1237'),
(127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'),
(128, 'DONALD', 'MARK', '2', '(777) 888-1239');

以下のC#コードはデータテーブルをCSVファイルにエクスポートするために使用されます。

public static DataTable getData()
{
    string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
    string query = "select * from STUDENT_DATA";
    try
    {
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand(query, conn);
        conn.Open();
        // create data adapter
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        // this will query your database and return the result to your datatable
        DataTable dt = new DataTable();
        da.Fill(dt);
        da.Dispose();
        return dt;
    } catch(Exception)
    {
        throw;
    }
}

static void Main(string [] args)
{
    DataTable table = getData();
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "JOHN";
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        ws ["B" + (rowCount)].Value = row [1].ToString();
        ws ["C" + (rowCount)].Value = row [2].ToString();
        ws ["D" + (rowCount)].Value = row [3].ToString();
        ws ["E" + (rowCount)].Value = row [4].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); // 
}
public static DataTable getData()
{
    string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
    string query = "select * from STUDENT_DATA";
    try
    {
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand(query, conn);
        conn.Open();
        // create data adapter
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        // this will query your database and return the result to your datatable
        DataTable dt = new DataTable();
        da.Fill(dt);
        da.Dispose();
        return dt;
    } catch(Exception)
    {
        throw;
    }
}

static void Main(string [] args)
{
    DataTable table = getData();
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "JOHN";
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        ws ["B" + (rowCount)].Value = row [1].ToString();
        ws ["C" + (rowCount)].Value = row [2].ToString();
        ws ["D" + (rowCount)].Value = row [3].ToString();
        ws ["E" + (rowCount)].Value = row [4].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); // 
}
Public Shared Function getData() As DataTable
	Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"
	Dim query As String = "select * from STUDENT_DATA"
	Try
		Dim conn As New SqlConnection(connString)
		Dim cmd As New SqlCommand(query, conn)
		conn.Open()
		' create data adapter
		Dim da As New SqlDataAdapter(cmd)
		' this will query your database and return the result to your datatable
		Dim dt As New DataTable()
		da.Fill(dt)
		da.Dispose()
		Return dt
	Catch e1 As Exception
		Throw
	End Try
End Function

Shared Sub Main(ByVal args() As String)
	Dim table As DataTable = getData()
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	wb.Metadata.Author = "JOHN"
	Dim ws As WorkSheet = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		ws ("A" & (rowCount)).Value = row (0).ToString()
		ws ("B" & (rowCount)).Value = row (1).ToString()
		ws ("C" & (rowCount)).Value = row (2).ToString()
		ws ("D" & (rowCount)).Value = row (3).ToString()
		ws ("E" & (rowCount)).Value = row (4).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv")
End Sub
VB   C#

コードの説明

メソッド `getData()SQL Serverデータベースからデータを取得します。前述のとおりです。

メイン関数では、それを作成しますWorkBookIronXL を使用してから、 を作成するワークシート.

forループ内で、データが指定されたワークシートの行に入力されます。

次に、このファイルをCSVとして保存しますSaveAsCsv(CSVとして保存)IronXL によって提供される function.

出力

このプログラムによって生成されたCSVファイルは次のとおりです:

DatasetをCSVに変換する方法(C#)、図8:CSV出力ファイル

CSV出力ファイル

提供された入力に基づいて生成されたCSVファイルが適切に作成されていることは明らかです。

サマリー

この記事では、データセットからC#でCSVファイルを作成する方法を示しました。 ライブラリはまたC#を使用してCSVファイルを読み取る. SQL Serverデータベースからのデータセットを3つのステップでCSVファイルにして作成します:

  1. SQL Serverからデータを取得します。

  2. データテーブルにデータを入力します。

  3. そのデータテーブルからCSVファイルを作成します。

    上記の例のように、.NET 7でIronXLを使用してCSVファイルを作成することは非常に簡単です。 プログラムの性能は、.NET 7でIronXLを使用して書かれているため、非常に優れています。 IronXLは、Excelファイルの作成、読み取り、操作といった他の便利な機能を提供します。 詳細については、こちらをご覧ください公式ドキュメント.

    さらに、IronPDF は開発者に対して以下のメソッドを提供しますPDFドキュメントを画像にレンダーする以下のコンテンツを日本語に翻訳してください:テキストとコンテンツを抽出PDFから。 さらに、IronPDFは以下も可能ですグラフのレンダリングPDF内バーコードの追加, パスワードによるセキュリティの強化プログラムによって

    IronXLの無料バージョンは開発目的で使用されます。 本番環境にアプリケーションをデプロイするには、無料試用バージョンまたは商用ライセンス. IronXLは、Iron Suite, これには5つのライブラリが含まれています:

    1.IronXL今日探求されているものである。

  4. IronPDFPDFファイルの生成、読み取り、操作のために

  5. IronOCR画像からテキストを抽出するために作業します

    申し訳ありませんが、提供された内容が「4.」のみですでに終わっているようです。続きの内容があれば、それを提供していただくことが必要です。正確な翻訳を行うために、もう少し具体的な情報やテキストを入力していただけますか?IronBarcodeバーコードの読み取りおよび生成のため

  6. IronWebscraperウェブサイトから構造データを抽出するために。

    これらすべての製品は、一緒に購入すると2つの価格で手に入れることができます。

< 以前
C#でExcelファイルをインポートする方法
次へ >
VB.NETでExcelファイルに書き込む方法