IRONXLの使用 C#でCSVをデータテーブルにインポートする方法 Curtis Chau 更新日:6月 22, 2025 Download IronXL NuGet Download テキストの検索と置換 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article Welcome to this beginner's tutorial on importing CSV (comma-separated values) files into a DataTable in C# using IronXL. このガイドでは、C# に不慣れな方でも、このプロセスを簡単に理解できるように、分かりやすいアプローチを提供します。 環境のセットアップからソースコードの記述に至るまで、すべてのステップをカバーします。 このチュートリアルの終わりには、CSV データを DataTable に変換する方法、DataTable の列を管理する方法、および C# を使用して CSV ドキュメントのさまざまな側面を処理する方法について明確に理解できるようになります。 前提条件 その前に、以下が準備されていることを確認してください。 C# の基本知識 ローカルコンピュータに Visual Studio がインストールされていること NuGet パッケージマネージャーから入手できる IronXL ライブラリ 基本を理解する CSV ファイルとは何ですか? CSV ファイル(カンマ区切り値ファイル)は、特定の構造を用いて表形式のデータを整理するタイプのプレーンテキストファイルです。 CSV はシンプルでコンパクトであり、様々なプラットフォームで動作可能なので、データ交換の一般的な形式です。 CSV ファイルでは、データはカンマで区切られ、新しい行は新しい行を意味し、列ヘッダーは通常、最初の行にあります。 DataTable の理解 DataTable は C# の ADO.NET ライブラリの一部で、メモリ上のデータを表す単一のテーブルを表します。 これは、行と列から成り立ち、それぞれの列は異なるデータ型を持つことができます。 DataTables は非常に柔軟性があり、構造化された形式でデータを表すことができ、CSV ファイルデータの処理に最適です。 プロジェクトのセットアップ 手順 1: 新しい C# プロジェクトの作成 Visual Studioを開きます。 ファイル > 新規作成 > プロジェクト を選択します。 C# コンソールまたは Windows フォーム アプリケーションを選択し、適切に名前を付けます。 手順 2: IronXL をインストールする IronXL は、C# で Excel および CSV ファイルを操作するための強力なライブラリです。 使用するには、NuGet パッケージ マネージャーを介してインストールする必要があります。 Visual Studioで: ツール > NuGet パッケージ マネージャー > ソリューションの Nuge パッケージの管理 に移動します。 IronXL.Excel を検索します。 パッケージをプロジェクトにインストールします。 IronXL を使用した CSV ファイルの DataTables への読み込み 手順 1: 環境のセッティング using IronXL; using System.Data; using IronXL; using System.Data; Imports IronXL Imports System.Data $vbLabelText $csharpLabel これらの using ステートメントは、タスクに必要な名前空間を含みます。 手順 2: CSV をインポートするメソッドを作成する CsvToDataTable クラスを定義し、ImportCsvToDataTable という静的メソッドを持つ。 このメソッドは、CSV ファイルを DataTable に変換する責任を持ちます。 public class CsvToDataTable { public static DataTable ImportCsvToDataTable(string filePath) { // Code snippet to import CSV will be placed here return null; // Placeholder return statement } } public class CsvToDataTable { public static DataTable ImportCsvToDataTable(string filePath) { // Code snippet to import CSV will be placed here return null; // Placeholder return statement } } Public Class CsvToDataTable Public Shared Function ImportCsvToDataTable(ByVal filePath As String) As DataTable ' Code snippet to import CSV will be placed here Return Nothing ' Placeholder return statement End Function End Class $vbLabelText $csharpLabel 手順 3: CSV ファイルを読み込む ImportCsvToDataTable メソッド内で、CSV ファイルの読み込みを開始します。IronXL はこれを行うための簡単な方法を提供します。 // Load the CSV file WorkBook workbook = WorkBook.LoadCSV(filePath); // Load the CSV file WorkBook workbook = WorkBook.LoadCSV(filePath); ' Load the CSV file Dim workbook As WorkBook = WorkBook.LoadCSV(filePath) $vbLabelText $csharpLabel WorkBook.LoadCSV は、CSV ファイルを読み込むための IronXL のメソッドです。 ここで、filePath は CSV ファイルへのパスです。 手順 4: CSV を DataTable に変換 読み込んだ CSV データを DataTable に変換します。 このステップは、データを C# アプリケーション内で簡単に操作し表示できる形式に変換するために重要です。 // Get the first worksheet WorkSheet sheet = workbook.DefaultWorkSheet; // Convert CSV worksheet to DataTable DataTable dataTable = sheet.ToDataTable(); return dataTable; // Get the first worksheet WorkSheet sheet = workbook.DefaultWorkSheet; // Convert CSV worksheet to DataTable DataTable dataTable = sheet.ToDataTable(); return dataTable; ' Get the first worksheet Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Convert CSV worksheet to DataTable Dim dataTable As DataTable = sheet.ToDataTable() Return dataTable $vbLabelText $csharpLabel このスニペットは CSV データを DataTable に変換します。 DefaultWorkSheet は、ブックから最初のワークシートを取得します。CSV ファイルの場合、これは CSV データ全体と同等です。ToDataTable メソッドは、CSV データを効率的に DataTable 構造にマップする IronXL の強力な機能であり、CSV ファイルの最初の行に列ヘッダー行が含まれている場合も、これを含みます。 ステップ 5: メソッドをアプリケーションで使用する 今、アプリケーションで ImportCsvToDataTable メソッドを使用してください。 たとえば、このメソッドをアプリケーションの起動時や、ユーザーが CSV ファイルをアップロードした際に呼び出すことができます。 // Usage string csvFilePath = "csvfile.csv"; DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(csvFilePath); // Usage string csvFilePath = "csvfile.csv"; DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(csvFilePath); ' Usage Dim csvFilePath As String = "csvfile.csv" Dim dataTable As DataTable = CsvToDataTable.ImportCsvToDataTable(csvFilePath) $vbLabelText $csharpLabel このコードスニペットは、ImportCsvToDataTable メソッドを呼び出す方法を示しています。 実際の CSV ファイルのファイルパスに "csvfile.csv" を置き換えてください。 ステップ 6: 出力 DataTable の利用 一度 DataTable を入手したら、ユーザーインターフェースにデータを表示する、データをフィルタリングする、または処理するなどのさまざまな操作を行うことができます。 以下にいくつかの例を示します。 コンソールアプリケーションでデータを表示する foreach (DataRow row in dataTable.Rows) { foreach (var item in row.ItemArray) { Console.Write($"{item} "); } Console.WriteLine(); } foreach (DataRow row in dataTable.Rows) { foreach (var item in row.ItemArray) { Console.Write($"{item} "); } Console.WriteLine(); } For Each row As DataRow In dataTable.Rows For Each item In row.ItemArray Console.Write($"{item} ") Next item Console.WriteLine() Next row $vbLabelText $csharpLabel このコードは、DataTable 内の各行と列を反復し、データをコンソールに表示します。 データのフィルタリング LINQ を使用して DataTable のデータをフィルタリングすることができます。 たとえば、特定の列が特定の条件を満たす行を選択したい場合: var filteredRows = dataTable.AsEnumerable() .Where(row => row.Field<string>("ColumnName") == "SomeValue"); var filteredRows = dataTable.AsEnumerable() .Where(row => row.Field<string>("ColumnName") == "SomeValue"); Dim filteredRows = dataTable.AsEnumerable().Where(Function(row) row.Field(Of String)("ColumnName") = "SomeValue") $vbLabelText $csharpLabel "ColumnName" と "SomeValue" をフィルター条件に合わせて置き換えてください。 完全なコードスニペット ここでは、プロジェクトで使用できる完全なソースコードを示します。 using IronXL; using System; using System.Data; using System.IO; public class CsvToDataTable { public static DataTable ImportCsvToDataTable(string filePath) { // Check if the file exists if (!File.Exists(filePath)) { throw new FileNotFoundException($"The file at {filePath} was not found."); } // Load the CSV file WorkBook workbook = WorkBook.LoadCSV(filePath); // Get the first worksheet WorkSheet sheet = workbook.DefaultWorkSheet; // Convert the worksheet to DataTable DataTable dataTable = sheet.ToDataTable(); return dataTable; } } class Program { static void Main(string[] args) { // Usage try { string filePath = "sample_data.csv"; // CSV file path DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(filePath); foreach (DataRow row in dataTable.Rows) { foreach (var item in row.ItemArray) { Console.Write($"{item} "); } Console.WriteLine(); } } catch (Exception ex) { Console.WriteLine($"An error occurred: {ex.Message}"); } } } using IronXL; using System; using System.Data; using System.IO; public class CsvToDataTable { public static DataTable ImportCsvToDataTable(string filePath) { // Check if the file exists if (!File.Exists(filePath)) { throw new FileNotFoundException($"The file at {filePath} was not found."); } // Load the CSV file WorkBook workbook = WorkBook.LoadCSV(filePath); // Get the first worksheet WorkSheet sheet = workbook.DefaultWorkSheet; // Convert the worksheet to DataTable DataTable dataTable = sheet.ToDataTable(); return dataTable; } } class Program { static void Main(string[] args) { // Usage try { string filePath = "sample_data.csv"; // CSV file path DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(filePath); foreach (DataRow row in dataTable.Rows) { foreach (var item in row.ItemArray) { Console.Write($"{item} "); } Console.WriteLine(); } } catch (Exception ex) { Console.WriteLine($"An error occurred: {ex.Message}"); } } } Imports IronXL Imports System Imports System.Data Imports System.IO Public Class CsvToDataTable Public Shared Function ImportCsvToDataTable(ByVal filePath As String) As DataTable ' Check if the file exists If Not File.Exists(filePath) Then Throw New FileNotFoundException($"The file at {filePath} was not found.") End If ' Load the CSV file Dim workbook As WorkBook = WorkBook.LoadCSV(filePath) ' Get the first worksheet Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Convert the worksheet to DataTable Dim dataTable As DataTable = sheet.ToDataTable() Return dataTable End Function End Class Friend Class Program Shared Sub Main(ByVal args() As String) ' Usage Try Dim filePath As String = "sample_data.csv" ' CSV file path Dim dataTable As DataTable = CsvToDataTable.ImportCsvToDataTable(filePath) For Each row As DataRow In dataTable.Rows For Each item In row.ItemArray Console.Write($"{item} ") Next item Console.WriteLine() Next row Catch ex As Exception Console.WriteLine($"An error occurred: {ex.Message}") End Try End Sub End Class $vbLabelText $csharpLabel Program.cs ファイルにこのコードを使用できます。運用環境で作業する場合、IronXL のライセンスを追加することを忘れないでください。 コードの出力 コードを実行すると、CSV ファイルがロードされ、そのデータが DataTable にインポートされます。 その後、コンソールで DataTable 列の内容が表示されます。 データが正しく DataTable にインポートされたことを確認するのに役立ちます。 さまざまなシナリオの処理 現実のシナリオでは、CSV ファイルは形式や構造において大きく異なることがあります。 これらの変動に対応することにより、アプリケーションを強化し多用途にすることが重要です。IronXL を使用して CSV データを DataTable にインポートする際に、さまざまなシナリオを管理する方法を検討してみましょう。 異なる区切り文字の処理 CSV ファイルのデフォルトの区切り文字はカンマです。 しかし、CSV ファイルが常にカンマで値を区切るとは限りません。 時には、セミコロン、タブ、または他の文字が区切り文字として使用されることがあります。 これを IronXL で処理するには: カスタム区切り文字の指定: CSV ファイルを読み込む前に、ファイルの区切り文字を指定することができます。 たとえば、ファイルがセミコロン (;) を使用している場合、次のように設定することができます。 WorkBook workbook = WorkBook.LoadCSV(filePath, listDelimiter: ";"); WorkBook workbook = WorkBook.LoadCSV(filePath, listDelimiter: ";"); Dim workbook As WorkBook = WorkBook.LoadCSV(filePath, listDelimiter:= ";") $vbLabelText $csharpLabel 大規模な CSV ファイルの処理 大規模な CSV ファイルを扱う際には、メモリの使用量とパフォーマンスを考慮することが重要です。 IronXL は、ファイル全体を一度にメモリにロードせずに、効率的に大規模なファイルを処理するための方法を提供しています。 ファイルをチャンク単位で読み込む、または IronXL が提供するストリーミング API を利用してメモリ使用量を効果的に管理することができます。 結論 IronXL を使用して C# で CSV データを DataTable にインポートするのは簡単です。 それはアプリケーションのデータ操作機能を強化し、CSV ファイルを効率的に処理することができます。 このチュートリアルで紹介した手順を用いることで、初心者でも簡単にこの機能を C# プロジェクトに統合できます。 IronXL は、その機能を探求するための無料トライアルを提供しています。 より高度な機能とサポートを求める場合、ライセンスオプションも利用可能です。 よくある質問 C#でCSVデータをデータテーブルにインポートするにはどうすればよいですか? CSVデータをC#のデータテーブルにインポートするには、IronXLのWorkBook.LoadCSVメソッドを使用してCSVファイルを読み込み、ToDataTableメソッドでデータテーブルに変換します。 IronXLを使用するためのVisual Studioプロジェクトのセットアップにはどのようなステップが必要ですか? IronXLを使用するためのVisual Studioプロジェクトをセットアップするには、NuGetパッケージマネージャーを使用してIronXLパッケージをインストールします。ツール > NuGet パッケージ マネージャー > ソリューションのNuGetパッケージの管理に進み、IronXL.Excelを検索し、プロジェクトに追加します。 IronXLは異なるデリミタを持つCSVファイルを扱うことができますか? はい、IronXLはWorkBook.LoadCSVメソッドでlistDelimiterパラメータを指定してカスタムデリミタを使用することで、異なるデリミタを持つCSVファイルを扱うことができます。 CSVファイルを読み込む際に「ファイルが見つかりません」というエラーが発生した場合、どうすれば良いですか? 「ファイルが見つかりません」というエラーに遭遇した場合、ファイルパスが正しいことを確認してください。File.Exists(filePath)を使用してファイルの存在を確認し、そのようなエラーを防ぎます。 C#で大きなCSVファイルを効率的に管理するにはどうすればよいですか? 大きなCSVファイルを効率的に管理するために、IronXLはチャンクでファイルを読み込む機能やストリーミングAPIを提供し、メモリ使用量とパフォーマンスを最適化するのに役立ちます。 CSVデータをデータテーブルに変換することの利点は何ですか? CSVデータをデータテーブルに変換することで、構造化されたデータ操作が可能となり、C#アプリケーション内でデータを取り扱ったり、フィルタリングしたり、表示したりするのが容易になります。 C#コンソールアプリケーションでデータテーブルの内容を表示するにはどうすればよいですか? C#コンソールアプリケーションでデータテーブルの内容を表示するには、各DataRowを反復処理し、ネストされたループを使用してコンソールにデータを表示することで、各項目を印刷します。 CSVファイルとは何ですか、そしてなぜ役に立つのですか? CSVファイル、またはカンマ区切り値ファイルは、データをカンマで区切るプレーンテキストファイルです。そのシンプルさと多くのアプリケーションとの互換性から、データ交換に広く使用されています。 データテーブルへのCSVインポートに関するチュートリアルをフォローするための前提条件は何ですか? チュートリアルをフォローするには、C#の基本的な理解、マシンにインストールされたVisual Studio、およびNuGet パッケージ マネージャーを介して取得できるIronXLライブラリが必要です。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 10月 27, 2025 C#でExcelピボットテーブルを作成する方法 この明確なステップバイステップガイドを使用して、C# InteropとIronXLを使用してExcelでピボットテーブルを作成する方法を学びましょう。 詳しく読む 公開日 10月 27, 2025 C#で列ヘッダー付きのDataGridViewをExcelにエクスポートする方法 IronXLライブラリを使用したステップバイステップのC#チュートリアルで、列ヘッダーを保持しながらDataGridViewデータをExcelにエクスポートする方法を学びましょう。 詳しく読む 公開日 10月 27, 2025 .NET Core CSVリーダーとしてのIronXLの使用方法 実用的な例とともにIronXLを.NET Core CSVリーダーとして効果的に使用する方法を学びましょう。 詳しく読む VB.NETでExcelファイルをSQLデータベースにインポートする方法C#でCSVファイルをリストに...
公開日 10月 27, 2025 C#でExcelピボットテーブルを作成する方法 この明確なステップバイステップガイドを使用して、C# InteropとIronXLを使用してExcelでピボットテーブルを作成する方法を学びましょう。 詳しく読む
公開日 10月 27, 2025 C#で列ヘッダー付きのDataGridViewをExcelにエクスポートする方法 IronXLライブラリを使用したステップバイステップのC#チュートリアルで、列ヘッダーを保持しながらDataGridViewデータをExcelにエクスポートする方法を学びましょう。 詳しく読む
公開日 10月 27, 2025 .NET Core CSVリーダーとしてのIronXLの使用方法 実用的な例とともにIronXLを.NET Core CSVリーダーとして効果的に使用する方法を学びましょう。 詳しく読む