IRONSOFTWAREHOME
開発者向けアップデート

C# DataTable (開発者向けのチュートリアル)

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年4月21日

このC#データテーブルに関するチュートリアルへようこそ。 A DataTable は、.NET Frameworkが提供する強力なデータ構造で、データを表形式で保存、操作、クエリすることができます。 このチュートリアルでは、C#のDataTablesの基本を探り、DataViewの使用を含みます。

このチュートリアルの終わりまでに、C#アプリケーションでDataTablesを使用する方法を十分に理解できます。 さあ、始めましょう!

データテーブルの作成

C#でSystem.Data名前空間をインポートする必要があります。 この名前空間には、DataTableクラスを含むデータ操作に関連するさまざまなクラスとメソッドが含まれています。

using System.Data;

次に、DataTableクラスのインスタンスを作成できます。 最も簡単な方法は、デフォルトのコンストラクターを使用することです。このようにして:

DataTable dt = new DataTable();

コンストラクタに文字列パラメータを渡すことにより、特定の名前を持つDataTableを作成することもできます。

DataTable dt = new DataTable("Employees");

データテーブルメソッド

列の追加

データテーブルを作成した後、列の追加を開始できます。 列を追加するには、まずDataTypeなどのプロパティを設定する必要があります。

データテーブルに3つの列を追加する例を示します。

DataColumn idColumn = new DataColumn("Id", typeof(int));
DataColumn nameColumn = new DataColumn("Name", typeof(string));
DataColumn ageColumn = new DataColumn("Age", typeof(int));

dt.Columns.Add(idColumn);
dt.Columns.Add(nameColumn);
dt.Columns.Add(ageColumn);

データテーブルにId列のように複数の列を追加することができます。

データ行の追加

列を定義した後、DataTableに行を追加し始めることができます。 行を追加するには、DataRowクラスの新しいインスタンスを作成し、必要なデータでそのフィールドを埋める必要があります。

ここでは、DataTableに新しい行を追加する方法の例を示します。

DataRow newRow = dt.NewRow();

newRow["Id"] = 1;
newRow["Name"] = "John Doe";
newRow["Age"] = 30;

dt.Rows.Add(newRow);

同じ方法をループ内で使用して、一度に複数のDataTable行を追加することもできます。

for (int i = 1; i <= 3; i++)
{
    DataRow row = dt.NewRow();
    row["Id"] = i;
    row["Name"] = "Employee " + i;
    row["Age"] = 20 + i;
    dt.Rows.Add(row);
}

上記のコードでは、3つのデータ行を追加しました。

データへのアクセス

Columnsコレクションを反復することでアクセスできます。 ここでは、コンソールでDataTableの内容を表示する方法の例を示します。

foreach (DataRow row in dt.Rows)
{
    foreach (DataColumn col in dt.Columns)
    {
        Console.Write(row[col] + "\t");
    }
    Console.WriteLine();
}

データの変更

DataRowオブジェクトの値を更新することで変更できます。 特定の従業員の年齢を更新する方法の例を示します。

var primaryKey = 1;
DataRow employeeRow = dt.Rows.Find(primaryKey); // Find the row with the specified primary key
if (employeeRow != null)
{
    employeeRow["Age"] = 35;
}

行の削除

DataTableから行を削除するには、DataRowオブジェクトでDeleteメソッドを呼び出します。

DataRow employeeRow = dt.Rows.Find(1);
if (employeeRow != null)
{
    employeeRow.Delete();
    dt.AcceptChanges(); // Commit the deletion
}

DataRowで呼び出すと、行が削除対象としてマークされるだけであることに注意してください。 削除された行を完全に削除するには、AcceptChangesメソッドを呼び出す必要があります。

複数テーブルの管理

場合によっては、複数のデータテーブルを同時に処理する必要があるかもしれません。 複数のDataTableオブジェクトを格納し、それらの関係を管理するためのデータセット変数を作成できます。

LINQを使用したデータのクエリ

LINQ(Language Integrated Query)は、C#における強力な機能で、DataTableオブジェクトを含むさまざまなデータソースからデータをクエリすることができます。 DataTablesでLINQを使用するには、System.Linq名前空間をインポートする必要があります。 LINQを使用して25歳以上の従業員をフィルタリングする方法の例を示します。

using System.Linq;

var filteredRows = dt.AsEnumerable().Where(row => row.Field<int>("Age") > 25);

foreach (DataRow row in filteredRows)
{
    Console.WriteLine(row["Name"]);
}

DataView: ソートとフィルタリング

System.Data名前空間によって提供されるもう一つの有用なクラスです。 データをDataGridViewのようなUIコントロールに表示する必要がある場合に特に便利です。 DataGridViewコントロールにデータを追加するためにデータバインディングを行うこともできます。

従業員をその年齢に基づいてフィルタリングおよびソートするためのDataViewを作成する方法の例を示します。

DataView view = new DataView(dt);

// Filter employees older than 25
view.RowFilter = "Age > 25";

// Sort by age in descending order
view.Sort = "Age DESC";

// Display the filtered and sorted data
foreach (DataRowView rowView in view)
{
    DataRow row = rowView.Row;
    Console.WriteLine(row["Name"]);
}

IronPDFを使用してDataTableをPDFにエクスポートする

IronPDFは、HTMLをPDFに変換する強力なツールであり、ユーザーフレンドリーなPDF操作機能が充実しており、.NETアプリケーション内でPDF文書の作成、読み取り、編集を可能にします。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

このセクションでは、IronPDFを使用してDataTableをPDFドキュメントにエクスポートする方法を学びます。

まず、IronPDF NuGetパッケージをインストールする必要があります。 Visual Studioでパッケージマネージャーコンソールを開き、次のコマンドを実行します。

PM > Install-Package IronPdf

パッケージがインストールされたら、コードで必要な名前空間をインポートすることから始められます。

using IronPdf;
using System.IO;

次に、HTMLテーブルにDataTableを変換するヘルパーメソッドを作成します。IronPDFはPDF文書内のコンテンツをレンダリングするためにHTMLを使用します。

public static string ConvertDataTableToHtml(DataTable dt)
{
    StringBuilder htmlBuilder = new StringBuilder();
    
    htmlBuilder.AppendLine("<table border='1' cellpadding='5' cellspacing='0'>");
    htmlBuilder.AppendLine("<tr>");
    
    // Add column headers
    foreach (DataColumn col in dt.Columns)
    {
        htmlBuilder.AppendFormat("<th>{0}</th>", col.ColumnName);
    }
    
    htmlBuilder.AppendLine("</tr>");
    
    // Add rows
    foreach (DataRow row in dt.Rows)
    {
        htmlBuilder.AppendLine("<tr>");
        
        foreach (DataColumn col in dt.Columns)
        {
            htmlBuilder.AppendFormat("<td>{0}</td>", row[col]);
        }
        
        htmlBuilder.AppendLine("</tr>");
    }
    
    htmlBuilder.AppendLine("</table>");
    
    return htmlBuilder.ToString();
}

次に、IronPDFが提供するHtmlToPdf classを使用してHTMLテーブルをレンダリングし、PDFファイルとして保存します。

public static void ExportDataTableToPdf(DataTable dt, string outputPath)
{
    // Convert DataTable to HTML
    string htmlTable = ConvertDataTableToHtml(dt);
    
    // Create a new HTML to PDF renderer
    var renderer = new ChromePdfRenderer();
    
    // Set global styles for the table
    renderer.RenderingOptions.CssMediaType = PdfPrintOptions.PdfCssMediaType.Print;
    renderer.RenderingOptions.FirstPageNumber = 1;
    
    // Render the HTML table as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlTable);
    
    // Save the PDF file
    pdf.SaveAs(outputPath);
}

DataTableを作成し、PDFファイルに保存します。

最後に、適切なパラメータでDataTableをエクスポートします。

string pdfOutputPath = "Employees.pdf";
ExportDataTableToPdf(dt, pdfOutputPath);

これは、DataTableの内容を表形式で含む"Employees.pdf"という名前のPDFファイルを作成します。

C#データテーブル(開発者向けチュートリアルの動作)- 図1

結論

このチュートリアルでは、C#におけるDataTablesの基本と、IronPDFライブラリを使用してDataTableをPDFドキュメントにエクスポートする方法を学びました。 一次キー列、データセット変数、フィルタリングとソートのためのDataViewを組み込むことで、データに対してより多くの制御と柔軟性を持てるでしょう。 データテーブルについての良い理解を持ち、C#アプリケーションでプロフェッショナルなPDFレポートを作成するためにIronPDFとデータテーブルを組み合わせて使用する方法を理解しているはずです。

IronPDFはその機能を無料トライアルで試すことができる無料トライアルを提供しており、購入を検討する前にその可能性を探ることができます。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から