ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
このブログでは、最も人気のあるライブラリの一つであるIronXLを使用して、.NET技術でMicrosoft Excelドキュメントをプログラム的に操作する方法について、CSV形式と標準Excel形式のそれぞれを比較し対照します。
C#でIronXLライブラリを使用することで、Microsoft Excelドキュメントを簡単にCSVファイルに読み取り、変換することができます。 IronXLは、Microsoft ExcelのインストールやMicrosoft Office Interop Excelに依存することなく、様々なスプレッドシート形式を読み取ることができるスタンドアロンの.NETソフトウェアライブラリです。
IronXLは、.NET Coreおよび.NET Frameworkの両方に対応する、C#向けの主要なExcelスプレッドシートライブラリの一つです。 それは、Webアプリケーション、Windowsフォームアプリケーション、コンソールアプリケーションを含むさまざまな.NET Frameworkをサポートしています。 IronXLを使用したExcelファイルの読み取りは迅速で簡単です。 XLSX、XLS、CSV、TSV、XLST、XLSM など、幅広い Excel ファイル形式をサポートしています。 データテーブルをインポート、編集、エクスポートし、データセットをエクスポートし、多くの他の操作を行うことができます。 異なる拡張子でファイルをエクスポートおよび保存することも可能です。
IronXLの直感的なC# APIを使用すると、.NET環境でExcelスプレッドシートファイルの読み取り、修正、作成を簡単に行うことができます。 .NET Core、.NET Framework、Xamarin、モバイル、Linux、macOS、およびAzureのための包括的なサポートを提供しています。
IronXLはMicrosoft Excelのように計算を実行でき、テキスト、整数、数式、日付、通貨、パーセンテージなど、いくつかの列データ形式をサポートします。
詳細については、 をクリックしてくださいIronXLウェブサイト.
IronXLフレームワークを使用する前に、Visual Studioで.NETプロジェクトを作成する必要があります。 どのバージョンのVisual Studioも使用可能ですが、最も新しいバージョンの使用をお勧めします。 要件に応じて、さまざまなプロジェクトテンプレートやWindows Formsのようなアプリケーションを作成することができます。 このチュートリアルでは、作業を簡素化するためにWindows Formsアプリケーションを使用します。
Visual Studio で新しいプロジェクトを作成する
プロジェクトテンプレートを選択した後、プロジェクトの名前と場所を指定してください。
![C#でExcelをDatagridviewに変換する方法
図2:プロジェクトの構成](/static-assets/excel/blog/excel-to-datagridview-csharp-tutorial/excel-to-datagridview-csharp-tutorial-2.webp)
プロジェクトの構成
次に、以下の構造を選択してください。 このプロジェクトでは、.NET Framework 4.7を使用します。
.NETフレームワークの選択
プロジェクトファイルを生成した後、Form1.cs
ファイルをデザイナービューで開くと、プログラムコードの挿入、インターフェイスのデザイン、およびプログラムの構築/実行を行うことができます。 次に、ソリューションに必要なIronXLライブラリをダウンロードする必要があります。 パッケージマネージャーで次のコードを使用してパッケージをダウンロードできます:
Install-Package IronXL.Excel
パッケージマネージャーコンソールでIronXLパッケージをインストールする
または、NuGetパッケージマネージャーを使用して「IronXL」パッケージを検索およびダウンロードすることもできます。 NuGet パッケージ マネージャーは、プロジェクトの依存関係を管理するための便利な方法を提供します。
NuGetパッケージマネージャーUIでIronXLパッケージを検索してインストール
このフォームでは、DataGridView
コントロールがフォームに配置され、必要なExcelファイルをDataGridView
コントロールに読み込みます。
IronXLは、少ないコード行数でExcelファイルを読み取ることができる強力なExcel向けライブラリです。 以下は、Excelデータを DataGridView
にインポートする方法を示すコードスニペットの例です:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace DataTableWindowsForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string ImportFilePath=string.Empty;
openFileDialog1.Filter = "Excel (*.xlsx)
*.xlsx";
DialogResult Result= openFileDialog1.ShowDialog();
if (Result == DialogResult.OK)
{
ImportFilePath = openFileDialog1.FileName;
}
if(ImportFilePath!=string.Empty)
{
var exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath);
var Edataset = exceldoc.ToDataSet().Tables [0];
for (int i = 0; i < Edataset.Columns.Count; i++)
{
Edataset.Columns [i].ColumnName = Edataset.Rows [0].ItemArray [i].ToString();
//dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
}
dataGridView1.DataSource = Edataset;
dataGridView1.Rows.RemoveAt(0);
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace DataTableWindowsForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string ImportFilePath=string.Empty;
openFileDialog1.Filter = "Excel (*.xlsx)
*.xlsx";
DialogResult Result= openFileDialog1.ShowDialog();
if (Result == DialogResult.OK)
{
ImportFilePath = openFileDialog1.FileName;
}
if(ImportFilePath!=string.Empty)
{
var exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath);
var Edataset = exceldoc.ToDataSet().Tables [0];
for (int i = 0; i < Edataset.Columns.Count; i++)
{
Edataset.Columns [i].ColumnName = Edataset.Rows [0].ItemArray [i].ToString();
//dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
}
dataGridView1.DataSource = Edataset;
dataGridView1.Rows.RemoveAt(0);
}
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Windows.Forms
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Window
Namespace DataTableWindowsForm
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim ImportFilePath As String=String.Empty
openFileDialog1.Filter = "Excel (*.xlsx) *.xlsx"
Dim Result As DialogResult= openFileDialog1.ShowDialog()
If Result = System.Windows.Forms.DialogResult.OK Then
ImportFilePath = openFileDialog1.FileName
End If
If ImportFilePath<>String.Empty Then
Dim exceldoc=IronXL.WorkBook.LoadExcel(ImportFilePath)
Dim Edataset = exceldoc.ToDataSet().Tables (0)
For i As Integer = 0 To Edataset.Columns.Count - 1
Edataset.Columns (i).ColumnName = Edataset.Rows (0).ItemArray (i).ToString()
'dataGridView1.Rows [i].HeaderCell.Value = Edataset.Rows [0].ItemArray [i];
Next i
dataGridView1.DataSource = Edataset
dataGridView1.Rows.RemoveAt(0)
End If
End Sub
End Class
End Namespace
上記のコードはExcelからデータをインポートします。 さらに詳細な説明を提供するために、DataGridView
コントロールとボタンを備えたWindowsフォームアプリケーションの設計を想定しています。 そのボタンをクリックすると、特定の場所からExcelファイルを参照するダイアログが開きます。 カスタムコードを追加して、特定の拡張子を持つファイルのみをフィルタリングして表示します。
Excelファイル選択のダイアログを開く
次に、LoadExcel(ロードエクセル)
このメソッドはExcelファイルからデータを読み込むために使用されます。このメソッドは、ファイル名、バイト、ストリームなど、さまざまなソースからデータを読み込むことができます。 エクセルファイルがパスワード保護されている場合、パラメーターとしてパスワードを渡すこともできます。
エクセルの詳細がIronXLオブジェクトに読み込まれると、ToDataSet(データセットに変換)
メソッドは、Excelシートのデータをデータセットに変換するために使用されます。 Excelファイルの各シートは、データセット内の個別のテーブルに変換されます。
次に、データセットから必要なテーブルをDataGridView
に読み込みます。 これを行うために、DataGridView
の DataSource
プロパティを IronXL から作成された新しい DataTable
オブジェクトに設定します。 このステップでは、Excelファイルから DataGridView
へのデータのポピュレーションが可能になります。
Excelファイルからデータを表示する
さらに、Excelヘッダー名も DataGridView
ヘッダーに割り当てられます。 さらに、Excel列を行データとして含む DataTable
から追加情報の列を削除しました。 これにより、DataGridView
に適切なデータだけが表示されます。
IronXLの使用方法に関するより多くのチュートリアルについては、こちらをクリックしてください。使用方法ガイド.
IronXLは、外部ライブラリに依存しない非常に人気のあるExcelユーティリティです。 それは独立したソリューションであり、Microsoft Excelのインストールを必要としません。 さまざまなプラットフォームに対応しています。
IronXLを使用すると、Microsoft Excelドキュメントに関連するさまざまな操作をプログラムで実行できます。 文字列または数値の並べ替え、データのトリミングや追加、値の検索と置換などのタスクを実行できます。セルの結合と結合解除ファイルの保存など。 また、スプレッドシートデータの検証を行うこともできます。セルデータ型を定義する. さらに、IronXLは読み取りおよびCSVファイルの作成.
IronXLは、$749で購入可能です。 お客様はまた、更新および製品サポートのために年会費を支払うオプションがあります。 追加料金を支払えば、IronXLは無制限の再配布権を提供します。 より詳細な価格情報を取得するには、以下のサイトをご覧ください:ライセンスページ.
9つの .NET API製品 オフィス文書用