ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
このチュートリアルは、データをエクスポートする方法についての包括的なガイドを提供しますDataGridView コントロール次のソフトウェアを使用してWindows FormsアプリケーションからExcelファイルに変換するIronXLC#のライブラリ 私たちは、初心者がC#プロジェクトにMicrosoft Excelの機能を統合するためのスムーズな体験を提供することに焦点を当てます。
Visual StudioでC# Windows Formsプロジェクトを作成します。
NuGetパッケージマネージャーを使用してExcelライブラリをインストールします。
WindowsフォームUIにDataGridViewとボタンを作成します。
DataGridViewにデータソースを接続します。
IronXL.NET FrameworkアプリケーションでExcelドキュメントを操作するプロセスを簡素化する強力なライブラリです。 それは大規模なExcelファイルのエクスポート、複雑なデータソースの処理、そしてMicrosoft Excel Object Libraryを必要とせずに.NETのExcelファイル操作に幅広いサポートを提供することができます。 プロジェクトを設定しましょう。
Visual Studioを開き、新しいWindowsフォームアプリケーションを作成してください。 これが私たちのプロジェクトの基盤となり、DataGridViewのデータをExcelファイルにエクスポートする機能を実装します。
IronXLはプロジェクトに簡単に追加できます。 Visual Studioで、 ‘Manage NuGet Packages’ オプションに移動し、IronXLを検索してインストールします。 このアクションは、C#でDataGridViewをExcelにエクスポートするために必要なすべての依存関係を処理します。
フォームにDataGridViewコントロールを追加します。 このコントロールには、エクスポートする予定のデータが保持されます。 さらに、エクスポートプロセスをトリガーするボタンを追加します。 「'Export to Excel' または類似のラベルを付けることができます。」
このセクションでは、Windows FormsアプリケーションのDataGridViewからExcelドキュメントにデータをエクスポートする機能をプログラムする具体的な方法を、IronXLを使用して説明します。
まずは、DataGridViewコントロールをフォームに追加する必要があります。 このコントロールは、データがエクスポートされる前に表示される主要なコンポーネントです。 それを簡単に追加するには、Visual StudioのツールボックスからDataGridViewをフォーム上にドラッグします。 DataGridViewのデータをExcelファイルにエクスポートするためのボタンを追加することもできます。
次のステップは、データをDataGridViewにロードすることです。 このデータは、DataTable や DataSet などのさまざまなソースから取得できます。 始めたばかりの場合は、プログラムで新しいDataSetまたはDataTableを作成し、サンプルデータを入力して動作を確認することをお勧めします。 または、外部ソースからデータをインポートすることもできます。 ここで重要なのは、データソースをDataGridViewにバインドすることであり、これによってデータがグリッドにリンクされます。 データがDataGridViewにバインドされると、フォーム上のグリッドに表示されます。
private void BindDataToDataGridView()
{
// Create a new DataTable.
DataTable dataTable = new DataTable();
// Define columns for the DataTable.
dataTable.Columns.Add("Employee ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Department", typeof(string));
dataTable.Columns.Add("Joining Date", typeof(DateTime));
// Add sample data to the DataTable.
for (int i = 1; i <= 25; i++)
{
dataTable.Rows.Add(i, "Employee " + i, "Department " + (i % 5 + 1), DateTime.Now.AddDays(-i * 15));
}
// Bind the DataTable to the DataGridView.
dataGridView1.DataSource = dataTable;
}
private void BindDataToDataGridView()
{
// Create a new DataTable.
DataTable dataTable = new DataTable();
// Define columns for the DataTable.
dataTable.Columns.Add("Employee ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Department", typeof(string));
dataTable.Columns.Add("Joining Date", typeof(DateTime));
// Add sample data to the DataTable.
for (int i = 1; i <= 25; i++)
{
dataTable.Rows.Add(i, "Employee " + i, "Department " + (i % 5 + 1), DateTime.Now.AddDays(-i * 15));
}
// Bind the DataTable to the DataGridView.
dataGridView1.DataSource = dataTable;
}
Private Sub BindDataToDataGridView()
' Create a new DataTable.
Dim dataTable As New DataTable()
' Define columns for the DataTable.
dataTable.Columns.Add("Employee ID", GetType(Integer))
dataTable.Columns.Add("Name", GetType(String))
dataTable.Columns.Add("Department", GetType(String))
dataTable.Columns.Add("Joining Date", GetType(DateTime))
' Add sample data to the DataTable.
For i As Integer = 1 To 25
dataTable.Rows.Add(i, "Employee " & i, "Department " & (i Mod 5 + 1), DateTime.Now.AddDays(-i * 15))
Next i
' Bind the DataTable to the DataGridView.
dataGridView1.DataSource = dataTable
End Sub
私たちの主なユーザーとのインタラクションポイントは、Windowsフォーム内のボタンになります。 このボタンをクリックすると、エクスポート処理が開始されます。 以下は、この操作を設定する方法です:
private void btnExport_Click(object sender, EventArgs e)
{
// Code to export data will go here
}
private void btnExport_Click(object sender, EventArgs e)
{
// Code to export data will go here
}
Private Sub btnExport_Click(ByVal sender As Object, ByVal e As EventArgs)
' Code to export data will go here
End Sub
データグリッドビューのデータをエクスポートするためには、最初にIronXL名前空間を参照する必要があります。
using IronXL;
using IronXL;
Imports IronXL
イベントハンドラー内で、最初のステップはIronXLを使用して新しいワークブックとワークシートを初期化することです。 これは、DataGridViewからデータが転送される場所です。
ワークブック内のWorkSheetは、Excelファイルの個別のページやタブのようなものです。
ここでは、ワークブックを作成し、次にワークシートを追加します。 ワークシートは「ExportedData」という名前ですが、アプリケーションのコンテキストに合った任意の名前を選択できます。
WorkBook workbook = new WorkBook();
WorkSheet worksheet = workbook.CreateWorkSheet("ExportedData");
WorkBook workbook = new WorkBook();
WorkSheet worksheet = workbook.CreateWorkSheet("ExportedData");
Dim workbook As New WorkBook()
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("ExportedData")
次のステップでは、DataGridView の行と列を反復処理し、各セルのデータを対応する Excel ワークシートのセルにコピーします。
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
// Convert row and column index to Excel cell address format
string cellAddress = ConvertToCellAddress(i, j);
worksheet [cellAddress].Value = dataGridView1.Rows [i].Cells [j].Value.ToString();
}
}
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
// Convert row and column index to Excel cell address format
string cellAddress = ConvertToCellAddress(i, j);
worksheet [cellAddress].Value = dataGridView1.Rows [i].Cells [j].Value.ToString();
}
}
For i As Integer = 0 To dataGridView1.Rows.Count - 1
For j As Integer = 0 To dataGridView1.Columns.Count - 1
' Convert row and column index to Excel cell address format
Dim cellAddress As String = ConvertToCellAddress(i, j)
worksheet (cellAddress).Value = dataGridView1.Rows (i).Cells (j).Value.ToString()
Next j
Next i
行と列のインデックスをExcelのセルアドレスに変換するには、次のようなヘルパーメソッドを使用できます:
private string ConvertToCellAddress(int row, int column)
{
// Columns in Excel are labeled as A, B, C, ..., Z, AA, AB, ..., etc.
// The following code converts a column index to this format.
string columnLabel = "";
while (column >= 0)
{
columnLabel = (char)('A' + column % 26) + columnLabel;
column = column / 26 - 1;
}
// Rows in Excel are labeled as 1, 2, 3, ..., n
// Adding 1 because Excel is 1-based and our loop is 0-based.
string rowLabel = (row + 1).ToString();
return columnLabel + rowLabel;
}
private string ConvertToCellAddress(int row, int column)
{
// Columns in Excel are labeled as A, B, C, ..., Z, AA, AB, ..., etc.
// The following code converts a column index to this format.
string columnLabel = "";
while (column >= 0)
{
columnLabel = (char)('A' + column % 26) + columnLabel;
column = column / 26 - 1;
}
// Rows in Excel are labeled as 1, 2, 3, ..., n
// Adding 1 because Excel is 1-based and our loop is 0-based.
string rowLabel = (row + 1).ToString();
return columnLabel + rowLabel;
}
Private Function ConvertToCellAddress(ByVal row As Integer, ByVal column As Integer) As String
' Columns in Excel are labeled as A, B, C, ..., Z, AA, AB, ..., etc.
' The following code converts a column index to this format.
Dim columnLabel As String = ""
Do While column >= 0
columnLabel = ChrW(AscW("A"c) + column Mod 26) & columnLabel
column = column \ 26 - 1
Loop
' Rows in Excel are labeled as 1, 2, 3, ..., n
' Adding 1 because Excel is 1-based and our loop is 0-based.
Dim rowLabel As String = (row + 1).ToString()
Return columnLabel & rowLabel
End Function
すべてのデータが転送されたら、次のステップはこのワークブックをExcelファイルとして保存することです。このステップにより、指定されたパスにシステム上でExcelファイルが作成されます。
workbook.SaveAs("DataGridViewExport.xlsx");
MessageBox.Show("Data exported successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
workbook.SaveAs("DataGridViewExport.xlsx");
MessageBox.Show("Data exported successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
workbook.SaveAs("DataGridViewExport.xlsx")
MessageBox.Show("Data exported successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
任意のデータエクスポートプロセスにおいて、例外処理はアプリケーションの安定性を確保するために不可欠です。 try-catchブロックでエクスポートロジックをラッピングすることで、エクスポート中のいかなる問題も確実にキャッチします。(ファイルアクセス許可、データ形式の問題など。)適切にキャッチされ、エラー処理が行われます。
try
{
// Export logic
}
catch (Exception ex)
{
MessageBox.Show("An exception occurred: " + ex.Message);
}
try
{
// Export logic
}
catch (Exception ex)
{
MessageBox.Show("An exception occurred: " + ex.Message);
}
Try
' Export logic
Catch ex As Exception
MessageBox.Show("An exception occurred: " & ex.Message)
End Try
プログラムを実行すると、このインターフェースが表示されます:
ここでは、データがDataGridViewに表示されているのがわかります。 さて、エクスポートボタンをクリックしてください。 そのデータは DataGridView から Excel ファイルにエクスポートされます。
ここでは、メッセージボックスが表示され、データがExcelファイルにエクスポートされることがわかります。こちらが出力されたExcelファイルです。
このガイドに従うことで、C#とIronXLを使用してDataGridViewのデータをExcelファイルにエクスポートする基本的ではありますが強力なツールを取得しました。IronXL. この機能は、データの分析、レポート作成、または単に異なる形式間でデータを転送する必要があるアプリケーションにとって非常に重要です。 データグリッドビューコントロールと IronXL ライブラリのさまざまな機能を試してみると、よりカスタマイズされた高度な実装につながる可能性があります。
IronXLは、無料体験その機能を探索するために使用できる。 ライセンスは「$liteLicense」から始まり、.NETアプリケーションでExcelファイルの操作を求めるプロフェッショナルや組織にとって、信頼性と効率性の高いソリューションへの価値ある投資となります。
あなたの旅はここで終わりではありません。 IronXLの機能や、Windows Formsアプリケーションを強化する他の方法を引き続き探索してください。 コーディングを楽しんでください!
9つの .NET API製品 オフィス文書用