IronXL ハウツー Csharpでexcelをインポート C#でExcelファイルをインポートする方法 カーティス・チャウ 更新日:2026年1月10日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronXLは、C#開発者がたった1行のコードでExcelデータをインポートすることを可能にし、Interopに依存することなくXLSX、CSV、その他のフォーマットをサポートし、データ操作のためにセル、範囲、ワークシートに即座にアクセスできるようにします。 クイックスタート: Excelファイルを即座にロードする IronXLのタイムアウトのないAPIを使用してメソッドを呼び出すだけで、サポートされているExcelシート(XLSX、CSVなど)を数秒で読み込むことができます。 ワークブックにすぐにアクセスし、必要に応じてセル、範囲、またはシートと対話を開始します。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronXL をインストールします PM > Install-Package IronXL.Excel このコード スニペットをコピーして実行します。 WorkBook wb = IronXL.WorkBook.Load("path/to/data.xlsx"); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう 30日間無料トライアル ## Excel データのインポート C# IronXLライブラリを使用してデータをインポートする C#でExcelデータをインポートする 特定のセル範囲のデータをインポートする SUM、AVG、MIN、MAXなどの集計関数を使用してExcelデータをインポートします . ### 最小限のワークフロー(5ステップ) ExcelファイルをインポートするためのC#ライブラリをダウンロードしてインストールします インポートするExcelファイルを準備する Loadメソッドを使用してスプレッドシートをインポートする 直感的なAPIを使用して読み込んだExcelファイルを編集する 編集したExcelファイルをさまざまな形式でエクスポートする ステップ1 IronXLライブラリのインストール IronXLはExcelのインポートを簡単にします。 このチュートリアルで使用するIronXL Excelライブラリの機能を使ってデータをインポートします。 ソフトウェアは開発のために無料で利用可能です。 IronXLは包括的なC# Excel APIを提供し、Microsoft OfficeやInteropに依存することなくExcelファイルの操作を簡素化します。 そのため、サーバー環境やクラウドのデプロイメントに最適です。 インストール方法 C#プロジェクトにDLLダウンロードでインストールするか、NuGetパッケージをナビゲートしてください。 インストールに関する詳しいガイダンスについては、使い始めの概要をご覧ください。 Install-Package IronXL.Excel チュートリアル プロジェクトでワークシートにアクセスする 基本的なWorkBook読み込みプロセス 今日のプロジェクトでは、ステップ1でインストールしたIronXLソフトウェアを使ってExcelデータをC#アプリケーションにインポートします。このライブラリはさまざまなExcelフォーマットをサポートしており、スプレッドシートをロードするための直感的なメソッドを提供しています。 ステップ2では、IronXLのWorkBook.Load()関数を使ってCSharpプロジェクトにExcel WorkBookをロードします。 この関数では、Excel WorkBookのパスを文字列パラメータとして渡します: // Load Excel file WorkBook wb = WorkBook.Load("Path"); // Load Excel file WorkBook wb = WorkBook.Load("Path"); ' Load Excel file Dim wb As WorkBook = WorkBook.Load("Path") $vbLabelText $csharpLabel 指定されたパスのExcelファイルがwbにロードされます。 この方法では、XLSX、XLS、CSV、TSV、その他の一般的なスプレッドシート形式をサポートしています。 特定のワークシートにアクセスする 次に、プロジェクトにインポートされるExcelファイルの特定のWorkSheetにアクセスする必要があります。 この目的のために、IronXLのGetWorkSheet()関数を使用して、インポートするWorkBookのシート名を文字列パラメータとして渡すことができます。 ワークシートの管理については、包括的なガイドをご覧ください。 // Specify sheet name of Excel WorkBook WorkSheet ws = wb.GetWorkSheet("SheetName"); // Specify sheet name of Excel WorkBook WorkSheet ws = wb.GetWorkSheet("SheetName"); ' Specify sheet name of Excel WorkBook Dim ws As WorkSheet = wb.GetWorkSheet("SheetName") $vbLabelText $csharpLabel WorkSheetはwsとしてインポートされ、wbは上記のコードサンプルで定義したWorkBookです。 ワークシートにアクセスする代替方法 プロジェクトにExcel WorkSheetをインポートするには、以下の方法があります。 それぞれの方法は、特定のユースケースに応じて柔軟性を提供します: // Import WorkSheet by various methods // by sheet indexing WorkSheet mySheet = wb.WorkSheets[SheetIndex]; // get default WorkSheet WorkSheet defaultSheet = wb.DefaultWorkSheet; // get first WorkSheet WorkSheet firstSheet = wb.WorkSheets.First(); // for the first or default sheet WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault(); // Import WorkSheet by various methods // by sheet indexing WorkSheet mySheet = wb.WorkSheets[SheetIndex]; // get default WorkSheet WorkSheet defaultSheet = wb.DefaultWorkSheet; // get first WorkSheet WorkSheet firstSheet = wb.WorkSheets.First(); // for the first or default sheet WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault(); ' Import WorkSheet by various methods ' by sheet indexing Dim mySheet As WorkSheet = wb.WorkSheets(SheetIndex) ' get default WorkSheet Dim defaultSheet As WorkSheet = wb.DefaultWorkSheet ' get first WorkSheet Dim firstSheet As WorkSheet = wb.WorkSheets.First() ' for the first or default sheet Dim firstOrDefaultSheet As WorkSheet = wb.WorkSheets.FirstOrDefault() $vbLabelText $csharpLabel さて、指定されたExcelファイルから任意のタイプのデータを簡単にインポートできます。 私たちのプロジェクトでExcelファイルのデータをインポートするために可能なすべての側面を探ってみましょう。 C#でExcelデータをインポートする セルの基本的なインポート方法 これはプロジェクトにExcelファイルデータをインポートする基本的な側面です。 IronXLはセルデータにアクセスする複数の方法を提供し、さまざまなシナリオに柔軟に対応します。 この目的のために、どのセルデータをインポートする必要があるかを指定するセルアドレッシングシステムを使用できます。 Excelファイルから特定のセルアドレスの値を返します: var cellValue = ws["Cell Address"]; var cellValue = ws["Cell Address"]; Dim cellValue = ws("Cell Address") $vbLabelText $csharpLabel 行および列インデックスを使用したデータのインポート Excelファイルからセルデータを行と列のインデックスを使用してインポートすることもできます。 このコード行は、指定された行と列のインデックスの値を返します。 このアプローチは、プログラムでデータを反復処理する場合に特に役立ちます: var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex]; var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex]; Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex) $vbLabelText $csharpLabel インポートされた値を変数に格納する インポートしたセルの値を変数に代入するには、次のコードを使用してください。 ToString()メソッドは、文字列変数との互換性を保証しますが、必要に応じて他の型にキャストすることもできます: // Import Data by Cell Address // by cell addressing string val = ws["Cell Address"].ToString(); // by row and column indexing string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString(); // for numeric values decimal numericValue = ws["B2"].DecimalValue; // for date values DateTime dateValue = ws["C2"].DateTimeValue; // Import Data by Cell Address // by cell addressing string val = ws["Cell Address"].ToString(); // by row and column indexing string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString(); // for numeric values decimal numericValue = ws["B2"].DecimalValue; // for date values DateTime dateValue = ws["C2"].DateTimeValue; ' Import Data by Cell Address ' by cell addressing Dim val As String = ws("Cell Address").ToString() ' by row and column indexing Dim valWithIndexing As String = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString() ' for numeric values Dim numericValue As Decimal = ws("B2").DecimalValue ' for date values Dim dateValue As DateTime = ws("C2").DateTimeValue $vbLabelText $csharpLabel 上記の例では、行と列のインデックスは0から始まります。より高度なセル操作については、セルのクリアとセルのコピーに関するガイドをご覧ください。 特定の範囲からデータをインポートする 範囲関数の構文 To import data in a specific range from an Excel WorkBook, use the range function. 開始セルと終了セルのアドレスを記述して、範囲を定義します。 これは、指定された範囲内のすべてのセルの値を返します。 包括的な範囲選択テクニックについては、範囲選択ガイドをご覧ください。 var rangeData = ws["Starting Cell Address:Ending Cell Address"]; var rangeData = ws["Starting Cell Address:Ending Cell Address"]; Dim rangeData = ws("Starting Cell Address:Ending Cell Address") $vbLabelText $csharpLabel 完全な範囲インポートの例 Excelファイルでの範囲操作や、さまざまな方法でのデータ取得についての詳細は、こちらをご覧ください。 次の例では、個々のセル値と範囲の両方をインポートしています: :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-import.cs using IronXL; using System; // Import Excel WorkBook WorkBook wb = WorkBook.Load("sample.xlsx"); // Specify WorkSheet WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import data of specific cell string val = ws["A4"].Value.ToString(); Console.WriteLine("Import Value of A4 Cell address: {0}", val); Console.WriteLine("import Values in Range From B3 To B9 :\n"); // Import data in specific range foreach (var item in ws["B3:B9"]) { Console.WriteLine(item.Value.ToString()); } Console.ReadKey(); Imports IronXL Imports System ' Import Excel WorkBook Dim wb As WorkBook = WorkBook.Load("sample.xlsx") ' Specify WorkSheet Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") ' Import data of specific cell Dim val As String = ws("A4").Value.ToString() Console.WriteLine("Import Value of A4 Cell address: {0}", val) Console.WriteLine("import Values in Range From B3 To B9 :" & vbCrLf) ' Import data in specific range For Each item In ws("B3:B9") Console.WriteLine(item.Value.ToString()) Next Console.ReadKey() $vbLabelText $csharpLabel 上記のコードは次の出力を表示します: With the values of Excel file sample.xlsx as: 集計関数を使用した Excel データのインポート 利用可能な集約関数 Excelファイルに集計関数を適用し、その結果得られたデータをインポートする。 IronXLはデータ解析を簡単にする組み込みの数学関数を提供します。 以下は、さまざまな機能とその使用例です: Sum() // To find the sum of a specific cell range var sum = ws["Starting Cell Address:Ending Cell Address"].Sum(); // To find the sum of a specific cell range var sum = ws["Starting Cell Address:Ending Cell Address"].Sum(); ' To find the sum of a specific cell range Dim sum = ws("Starting Cell Address:Ending Cell Address").Sum() $vbLabelText $csharpLabel Average() // To find the average of a specific cell range var average = ws["Starting Cell Address:Ending Cell Address"].Avg(); // To find the average of a specific cell range var average = ws["Starting Cell Address:Ending Cell Address"].Avg(); ' To find the average of a specific cell range Dim average = ws("Starting Cell Address:Ending Cell Address").Avg() $vbLabelText $csharpLabel Min() // To find the minimum in a specific cell range var minimum = ws["Starting Cell Address:Ending Cell Address"].Min(); // To find the minimum in a specific cell range var minimum = ws["Starting Cell Address:Ending Cell Address"].Min(); ' To find the minimum in a specific cell range Dim minimum = ws("Starting Cell Address:Ending Cell Address").Min() $vbLabelText $csharpLabel Max() // To find the maximum in a specific cell range var maximum = ws["Starting Cell Address:Ending Cell Address"].Max(); // To find the maximum in a specific cell range var maximum = ws["Starting Cell Address:Ending Cell Address"].Max(); ' To find the maximum in a specific cell range Dim maximum = ws("Starting Cell Address:Ending Cell Address").Max() $vbLabelText $csharpLabel 複数の集約関数を一緒に使用する C#のExcelで集計関数を使用し、さまざまな方法でデータを取得する方法については、こちらをご覧ください。 これらの関数は、要約統計の生成やインポートされたデータの検証に特に役立ちます。 これらの関数を適用してExcelファイルのデータをインポートする例を参照してください: :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-math-functions.cs using IronXL; using System; // Import Excel file WorkBook wb = WorkBook.Load("sample.xlsx"); // Specify WorkSheet WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import Excel file data by applying aggregate functions decimal sum = ws["D2:D9"].Sum(); decimal avg = ws["D2:D9"].Avg(); decimal min = ws["D2:D9"].Min(); decimal max = ws["D2:D9"].Max(); Console.WriteLine("Sum From D2 To D9: {0}", sum); Console.WriteLine("Avg From D2 To D9: {0}", avg); Console.WriteLine("Min From D2 To D9: {0}", min); Console.WriteLine("Max From D2 To D9: {0}", max); Console.ReadKey(); Imports IronXL Imports System ' Import Excel file Dim wb As WorkBook = WorkBook.Load("sample.xlsx") ' Specify WorkSheet Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") ' Import Excel file data by applying aggregate functions Dim sum As Decimal = ws("D2:D9").Sum() Dim avg As Decimal = ws("D2:D9").Avg() Dim min As Decimal = ws("D2:D9").Min() Dim max As Decimal = ws("D2:D9").Max() Console.WriteLine("Sum From D2 To D9: {0}", sum) Console.WriteLine("Avg From D2 To D9: {0}", avg) Console.WriteLine("Min From D2 To D9: {0}", min) Console.WriteLine("Max From D2 To D9: {0}", max) Console.ReadKey() $vbLabelText $csharpLabel 上記のコードは次の出力を与えます: そして、私たちのファイルsample.xlsxにはこれらの値が含まれています: 完全なエクセルファイルのデータをインポートする ToDataSetメソッドについて 完全なExcelファイルのデータをC#プロジェクトにインポートするには、まず、ロードされたWorkBookをDataSetにパースします。 こうすることで、Excelデータ全体がDataSetにインポートされ、ExcelファイルのWorkSheetがDataSet内のDataTableになります。 このアプローチは、データベース操作やデータバインドコントロールを使用する場合に特に役立ちます。 DataSetとしてのインポートおよびエクスポートについては、こちらをご覧ください。 // Import WorkBook into DataSet DataSet ds = wb.ToDataSet(); // Import WorkBook into DataSet DataSet ds = wb.ToDataSet(); ' Import WorkBook into DataSet Dim ds As DataSet = wb.ToDataSet() $vbLabelText $csharpLabel これは、指定されたWorkSheetをDataSetにインポートし、要件に従って使用します。 この方法は、複数のシートを同時に扱う場合や、ExcelのデータをADO.NETの操作と統合する場合に特に威力を発揮します。 カラムヘッダの処理 多くの場合、Excelファイルの最初の行が列名として機能します。 この場合、最初の行をDataTableのカラム名にします。 IronXLのToDataSet()関数のbooleanパラメータを以下のように設定してください: // Import WorkBook into DataSet with first row as ColumnNames DataSet ds = wb.ToDataSet(true); // Import WorkBook into DataSet with first row as ColumnNames DataSet ds = wb.ToDataSet(true); ' Import WorkBook into DataSet with first row as ColumnNames Dim ds As DataSet = wb.ToDataSet(True) $vbLabelText $csharpLabel これは、構造化されたExcelデータを扱う際にデータ構造の整合性を維持するために不可欠です。 完全なデータセットインポートの例 ExcelデータをDataSetにインポートし、Excel WorkSheetの最初の行をDataTableの列名として使用する完全な例を参照してください: :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-dataset.cs using IronXL; using System; using System.Data; WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import Excel data into a DataSet DataSet ds = wb.ToDataSet(true); Console.WriteLine("Excel file data imported to dataset successfully."); Console.ReadKey(); Imports IronXL Imports System Imports System.Data Dim wb As WorkBook = WorkBook.Load("sample.xlsx") Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") ' Import Excel data into a DataSet Dim ds As DataSet = wb.ToDataSet(True) Console.WriteLine("Excel file data imported to dataset successfully.") Console.ReadKey() $vbLabelText $csharpLabel ExcelのDataset関数とDataTable関数を使用するのは複雑ですが、C#プロジェクトにファイルデータを組み込むために、より多くの例を用意しています。 高度なシナリオについては、DataTableを介したExcelからSQLへの変換や、SQLデータベースからのExcelのロードに関するガイドをご覧ください。 ライブラリのクイックアクセス ### IronXLリファレンスを見る セル、範囲、データセット、データテーブルを介したExcelデータの取得については、IronXLのAPIリファレンスをご覧ください。 IronXLリファレンスを見る よくある質問 Microsoft Officeを使用せずに、C#でExcelファイルをインポートするにはどうすればよいですか? Microsoft OfficeやInteropの依存関係を必要としないIronXLを使用して、C#でExcelファイルをインポートできます。WorkBook.Load()メソッドにファイル・パスを指定するだけです:WorkBook wb = WorkBook.Load("path/to/data.xlsx").これは、XLSX、XLS、CSV、TSV、その他のフォーマットで動作します。 このC#ライブラリでインポートできるExcelファイル形式は何ですか? IronXLはXLSX、XLS、CSV、TSV、その他の一般的なスプレッドシート形式を含む様々なExcel形式のインポートをサポートしています。同じWorkBook.Load()メソッドがこれらすべてのフォーマットを自動的に処理します。 サーバーやクラウド環境でExcelデータをインポートできますか? IronXLは、Microsoft OfficeやInteropの依存関係を必要としないため、サーバー環境やクラウドデプロイメントに最適です。そのため、Webアプリケーション、Azureファンクション、その他のサーバーサイドのシナリオに最適です。 インポート後、どのくらいでExcelデータを扱い始めることができますか? IronXLのタイムアウトのないAPIを使えば、サポートされているExcelシートをわずか1行のコードで数秒で読み込むことができます。WorkBook.Load()を使えば、すぐにセルや範囲、ワークシートの操作を開始できます。 Excelファイルから特定のセル範囲をインポートできますか? はい、IronXLではワークブックを読み込んだ後、特定のセル範囲からデータをインポートすることができます。提供される直感的なAPIを使用して、個々のセル、範囲、またはワークシート全体にアクセスできます。 C#用Excelインポートライブラリのインストール方法を教えてください。 IronXLはNuGetパッケージマネージャ、またはDLLを直接ダウンロードすることでインストールできます。このライブラリは開発用に無償で提供されており、使い始めるための包括的なドキュメントも提供されています。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 1,846,091 | バージョン: 2026.2 リリース NuGet 無料版 総ダウンロード数: 1,846,091 ライセンスを見る