IronXLを使用して C# で DataGridView を Excel にエクスポートする
Microsoft Officeへの依存を排除し、コンテナフレンドリーなデプロイメントを提供するIronXLを使用して、C#でデータをExcelにエクスポートします。 CODE-42986--@@を作成し、DataGridView@セルを繰り返し処理し、XLSX形式に保存します。
Windows FormsからExcelにデータをエクスポートすることは、ビジネスアプリケーションでは一般的な要件です。 レポートの作成、データのバックアップ、利害関係者との情報共有など、開発者はデータをExcel形式にエクスポートする信頼できる方法を必要としています。 Microsoft Office Interop を使用した従来のアプローチは、この目的には十分対応できていましたが、展開の複雑さや依存関係の要件が伴い、アプリケーションの配布を複雑化させる可能性がありました。
このチュートリアルでは、Microsoft Officeをインストールする必要がない.NETライブラリであるIronXLを使用して、DataGridView@データをExcelにエクスポートするための実用的なC#の例を示します。 クラウドプラットフォームやコンテナなど、さまざまな環境で動作する、クリーンで効率的なエクスポートソリューションを実装する方法を探求します。 Azureへのデプロイであれ、Dockerコンテナでのアプリケーション実行であれ、 IronXLはDevOpsチームが必要とするデプロイの柔軟性を提供します。
なぜDataGridViewからExcelへのエクスポートが不可欠なのですか?
CODE-42992--@@コントロールはWindowsフォームアプリケーションの基本であり、ユーザーが毎日操作する表形式のデータを表示します。 このデータをExcelにエクスポートすることで、ユーザーはExcelの強力な分析ツールを活用したり、プレゼンテーションを作成したり、アプリケーションにアクセスできない同僚とデータを共有したりすることが可能になります。 このC#によるExcelエクスポート機能は、ビジネスレポート作成やデータ分析のワークフローにとって非常に重要です。
Microsoft.Office.Interop.Excel を使用する従来のエクスポート方法では、アプリケーションを実行するすべてのマシンに Excel をインストールする必要があります。 これにより、特にサーバー環境や Office ライセンスがないユーザーへのアプリケーション配布時に、デプロイメントの課題が生じます。 さらに、Interop のアプローチは、注意深く対処しない場合、メモリリークや COM オブジェクトのクリーンアップの問題に苦しむことがあります。 これらの課題は、AWS Lambdaやその他のサーバーレスプラットフォームにデプロイする場合、特に深刻になります。これらのプラットフォームでは、Officeのインストールは現実的ではないためです。
モダンな .NET アプリケーションには、より柔軟なソリューションが求められています。 IronXLは、Microsoft Officeに依存することなくExcelファイルを生成するスタンドアロンライブラリを提供することで、これらの課題に対処します。 このアプローチにより、開発、テスト、本番環境全体で一貫した機能が確保されるとともに、コンテナやクラウドプラットフォームへのデプロイもサポートされます。
IronXLとInteropの比較は?
以下の表は、 IronXLとMicrosoft Office Interop for Excelのエクスポートシナリオにおける主な違いをまとめたものです。
| 特徴 | IronXL | Microsoft Interop |
|---|---|---|
| オフィスへのインストールが必要です | なし | はい |
| Linux / Docker サポート | はい | なし |
| COMオブジェクトのクリーンアップ | 不要 | 手作業で、エラーが発生しやすい |
| メモリリークのリスク | 低い | 処分されない場合は高額になる |
| クラウド/サーバーレス展開 | サポートされています | サポートされていません |
| エクスポート形式(XLSX、CSV、JSON、XML) | すべてサポートされています | 制限あり |
C#プロジェクトにIronXLをインストールするにはどうすればよいですか?
Visual Studio のパッケージ マネージャー コンソールを開き、次のコマンドを実行するか、 .NET CLI を使用します。
Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
C#プロジェクトにIronXL.Excel NuGetパッケージとその依存関係を正常にインストールしたことを示すターミナル出力。
詳細なインストール方法については、IronXL NuGet インストールガイドを参照するか、NuGet.org で直接パッケージを検索してください。 インストールしたら、C#プロジェクトファイルにusing IronXL;を追加して、ライブラリのExcelエクスポート機能にアクセスしてください。 本番環境にデプロイする際は、ライセンスキーを適用してすべての機能を有効にしてください。 IronXLは、購入前に無料トライアルライセンスを取得して評価することができます。
基本的なDataGridViewのエクスポートはどのようなものですか?
以下のコードはサンプルWindowsフォーム・アプリケーションを作成し、IronXLトップレベル・ステートメントを使ってExcelにエクスポートします:
using IronXL;
using System.Data;
using System.Windows.Forms;
// Create a DataTable with sample product data
var dt = new DataTable();
dt.Columns.Add("Product ID", typeof(int));
dt.Columns.Add("Product Name", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Columns.Add("Stock", typeof(int));
dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99m, 15);
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99m, 50);
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99m, 100);
dt.Rows.Add(1004, "Monitor 27\"", "Electronics", 399.99m, 8);
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99m, 25);
// Bind to DataGridView
var dataGridView1 = new DataGridView();
dataGridView1.DataSource = dt;
// Create new Excel workbook
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;
// Export column headers
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
worksheet.SetCellValue(0, colIndex, dataGridView1.Columns[colIndex].HeaderText);
}
// Export data rows
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
if (!dataGridView1.Rows[rowIndex].IsNewRow)
{
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
if (cellValue is decimal or double or int)
worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue));
else
worksheet.SetCellValue(rowIndex + 1, colIndex, cellValue?.ToString() ?? string.Empty);
}
}
}
// Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx");
Console.WriteLine("Export completed successfully!");
using IronXL;
using System.Data;
using System.Windows.Forms;
// Create a DataTable with sample product data
var dt = new DataTable();
dt.Columns.Add("Product ID", typeof(int));
dt.Columns.Add("Product Name", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Columns.Add("Stock", typeof(int));
dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99m, 15);
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99m, 50);
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99m, 100);
dt.Rows.Add(1004, "Monitor 27\"", "Electronics", 399.99m, 8);
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99m, 25);
// Bind to DataGridView
var dataGridView1 = new DataGridView();
dataGridView1.DataSource = dt;
// Create new Excel workbook
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;
// Export column headers
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
worksheet.SetCellValue(0, colIndex, dataGridView1.Columns[colIndex].HeaderText);
}
// Export data rows
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
if (!dataGridView1.Rows[rowIndex].IsNewRow)
{
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
if (cellValue is decimal or double or int)
worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue));
else
worksheet.SetCellValue(rowIndex + 1, colIndex, cellValue?.ToString() ?? string.Empty);
}
}
}
// Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx");
Console.WriteLine("Export completed successfully!");
Imports IronXL
Imports System.Data
Imports System.Windows.Forms
' Create a DataTable with sample product data
Dim dt As New DataTable()
dt.Columns.Add("Product ID", GetType(Integer))
dt.Columns.Add("Product Name", GetType(String))
dt.Columns.Add("Category", GetType(String))
dt.Columns.Add("Price", GetType(Decimal))
dt.Columns.Add("Stock", GetType(Integer))
dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99D, 15)
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99D, 50)
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99D, 100)
dt.Rows.Add(1004, "Monitor 27""", "Electronics", 399.99D, 8)
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99D, 25)
' Bind to DataGridView
Dim dataGridView1 As New DataGridView()
dataGridView1.DataSource = dt
' Create new Excel workbook
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet
' Export column headers
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
worksheet.SetCellValue(0, colIndex, dataGridView1.Columns(colIndex).HeaderText)
Next
' Export data rows
For rowIndex As Integer = 0 To dataGridView1.Rows.Count - 1
If Not dataGridView1.Rows(rowIndex).IsNewRow Then
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
Dim cellValue = dataGridView1.Rows(rowIndex).Cells(colIndex).Value
If TypeOf cellValue Is Decimal OrElse TypeOf cellValue Is Double OrElse TypeOf cellValue Is Integer Then
worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue))
Else
worksheet.SetCellValue(rowIndex + 1, colIndex, If(cellValue?.ToString(), String.Empty))
End If
Next
End If
Next
' Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx")
Console.WriteLine("Export completed successfully!")
このコードは、コアエクスポート機能を示しています。 CODE-42996--@@セットアップは、DataGridViewコントロールの共通データソースとして機能するサンプル製品データをグリッドに入力します。 大規模なデータセットを扱う場合は、パフォーマンス向上のためにIronXLのDataSetインポートおよびエクスポート機能の利用をご検討ください。
エクスポートのループは、行と列のインデックスを持つSetCellValueを使用して、ヘッダーとデータの両方をExcelのセルに配置するために、DataGridViewを繰り返し実行します。 IronXLのドキュメントには、より複雑なシナリオに対応するための追加のセル書き込みオプションが記載されています。 CODE-43000--@@チェックは、編集可能なDataGridViewsの下部にある空の行をスキップし、予期しない空白行のないクリーンなExcel出力を保証します。
商品ID、名前、カテゴリー、価格、在庫の列を含む商品データが入力されたDataGridViewを表示するWindowsフォームアプリケーション。
電子機器およびコンピュータ アクセサリの製品ID、製品名、カテゴリ、価格、および在庫レベルの列を含む、エクスポートされた製品データを示すMicrosoft Excelのスプレッドシート。
この機能をWebベースのASP.NET MVCアプリケーションに実装する場合は、HTTPヘッダーのContent-Dispositionを使用して、ダウンロード可能なレスポンスとしてファイルを返すことにより、アプローチを拡張します。 ASP.NET WebForms開発者の場合、適切なレンダリングを確保するために、コントロールをエクスポートする際にVerifyRenderingInServerForm@をオーバーライドする必要があるかもしれません。 サポートされているシナリオの完全なリストについては、 IronXLの機能ページをご覧ください。
ExcelのエクスポートファイルにProfessional書式設定を追加するにはどうすればよいですか?
プロフェッショナルな Excel エクスポートには、読みやすさを向上させるためのフォーマットが必要なことがよくあります。 IronXLは、フォントのカスタマイズ、背景色、枠線、配置など、スタイリング機能を提供します。 以下の例では、ヘッダーの書式設定と行の交互の色付けを追加しています。
using IronXL;
using System.Data;
using System.Windows.Forms;
// Assume dataGridView1 is already populated with data
var dataGridView1 = new DataGridView();
// (populate dataGridView1 with data as shown in the previous example)
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;
// Set column headers with formatting
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
var headerCell = worksheet.GetCellAt(0, colIndex);
headerCell.Value = dataGridView1.Columns[colIndex].HeaderText;
headerCell.Style.Font.Bold = true;
headerCell.Style.BackgroundColor = "#4472C4";
headerCell.Style.Font.Color = "#FFFFFF";
headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center;
}
// Export data with alternating row colors
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
if (!dataGridView1.Rows[rowIndex].IsNewRow)
{
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
var excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex);
if (cellValue != null)
excelCell.Value = cellValue.ToString();
// Apply alternating row background
if (rowIndex % 2 == 0)
excelCell.Style.BackgroundColor = "#F2F2F2";
}
}
}
// Auto-fit columns
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
worksheet.AutoSizeColumn(colIndex);
}
workbook.SaveAs("FormattedExport.xlsx");
Console.WriteLine("Formatted export completed successfully!");
using IronXL;
using System.Data;
using System.Windows.Forms;
// Assume dataGridView1 is already populated with data
var dataGridView1 = new DataGridView();
// (populate dataGridView1 with data as shown in the previous example)
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;
// Set column headers with formatting
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
var headerCell = worksheet.GetCellAt(0, colIndex);
headerCell.Value = dataGridView1.Columns[colIndex].HeaderText;
headerCell.Style.Font.Bold = true;
headerCell.Style.BackgroundColor = "#4472C4";
headerCell.Style.Font.Color = "#FFFFFF";
headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center;
}
// Export data with alternating row colors
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
if (!dataGridView1.Rows[rowIndex].IsNewRow)
{
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
var excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex);
if (cellValue != null)
excelCell.Value = cellValue.ToString();
// Apply alternating row background
if (rowIndex % 2 == 0)
excelCell.Style.BackgroundColor = "#F2F2F2";
}
}
}
// Auto-fit columns
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
worksheet.AutoSizeColumn(colIndex);
}
workbook.SaveAs("FormattedExport.xlsx");
Console.WriteLine("Formatted export completed successfully!");
Imports IronXL
Imports System.Data
Imports System.Windows.Forms
' Assume dataGridView1 is already populated with data
Dim dataGridView1 As New DataGridView()
' (populate dataGridView1 with data as shown in the previous example)
Dim workbook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet = workbook.DefaultWorkSheet
' Set column headers with formatting
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
Dim headerCell = worksheet.GetCellAt(0, colIndex)
headerCell.Value = dataGridView1.Columns(colIndex).HeaderText
headerCell.Style.Font.Bold = True
headerCell.Style.BackgroundColor = "#4472C4"
headerCell.Style.Font.Color = "#FFFFFF"
headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center
Next
' Export data with alternating row colors
For rowIndex As Integer = 0 To dataGridView1.Rows.Count - 1
If Not dataGridView1.Rows(rowIndex).IsNewRow Then
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
Dim cellValue = dataGridView1.Rows(rowIndex).Cells(colIndex).Value
Dim excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex)
If cellValue IsNot Nothing Then
excelCell.Value = cellValue.ToString()
End If
' Apply alternating row background
If rowIndex Mod 2 = 0 Then
excelCell.Style.BackgroundColor = "#F2F2F2"
End If
Next
End If
Next
' Auto-fit columns
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
worksheet.AutoSizeColumn(colIndex)
Next
workbook.SaveAs("FormattedExport.xlsx")
Console.WriteLine("Formatted export completed successfully!")
この強化版では、エクスポートされたExcelファイルにProfessional書式設定が適用されます。ヘッダーは太字で、背景は青、文字色は白となり、データ行との視覚的な区別が明確になります。 このコードは、剰余演算を用いて行の色を交互に変化させることで、大規模なデータセットにおける可読性を向上させています。 IronXLのセル書式設定ガイドを使用して外観をさらにカスタマイズしたり、セルの結合機能を使用してヘッダー列をまたがって表示したりすることができます。
CODE-43004--@@@メソッドは、コンテンツに合わせて列幅を調整するため、エクスポート後に手動で調整する必要がありません。 これらのフォーマットオプションは基本的なデータエクスポートを即座に共有できるプレゼンテーション対応ドキュメントに変えます。 IronXL を使用した Excel ファイルの書き込み方法については、こちらを参照して、その他の書式設定やデータ書き込みのパターンをご確認ください。
複数の形式でエクスポートしたり、数式を追加したりするにはどうすればよいですか?
IronXLは基本的なExcelエクスポート機能にとどまらず、数式サポート、複数ワークシート、代替出力形式などの機能を提供します。 以下の例は、これらの機能を示しています。
using IronXL;
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;
// (populate worksheet with DataGridView data as shown above)
int dataRowCount = 5; // Replace with actual dataGridView1.Rows.Count
// Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})");
// Create a summary worksheet
var summarySheet = workbook.CreateWorkSheet("Summary");
summarySheet.SetCellValue(0, 0, "Total Products");
summarySheet.SetCellValue(0, 1, dataRowCount);
// Save in multiple formats
workbook.SaveAs("export.xlsx");
workbook.SaveAsCsv("export.csv");
workbook.SaveAsJson("export.json");
workbook.SaveAsXml("export.xml");
Console.WriteLine("Multi-format export completed!");
using IronXL;
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;
// (populate worksheet with DataGridView data as shown above)
int dataRowCount = 5; // Replace with actual dataGridView1.Rows.Count
// Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})");
// Create a summary worksheet
var summarySheet = workbook.CreateWorkSheet("Summary");
summarySheet.SetCellValue(0, 0, "Total Products");
summarySheet.SetCellValue(0, 1, dataRowCount);
// Save in multiple formats
workbook.SaveAs("export.xlsx");
workbook.SaveAsCsv("export.csv");
workbook.SaveAsJson("export.json");
workbook.SaveAsXml("export.xml");
Console.WriteLine("Multi-format export completed!");
Imports IronXL
Dim workbook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet = workbook.DefaultWorkSheet
' (populate worksheet with DataGridView data as shown above)
Dim dataRowCount As Integer = 5 ' Replace with actual dataGridView1.Rows.Count
' Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})")
' Create a summary worksheet
Dim summarySheet = workbook.CreateWorkSheet("Summary")
summarySheet.SetCellValue(0, 0, "Total Products")
summarySheet.SetCellValue(0, 1, dataRowCount)
' Save in multiple formats
workbook.SaveAs("export.xlsx")
workbook.SaveAsCsv("export.csv")
workbook.SaveAsJson("export.json")
workbook.SaveAsXml("export.xml")
Console.WriteLine("Multi-format export completed!")
IronXLはExcelの数式をサポートしており、計算式をエクスポートファイルに直接追加できます。 上の例では、SUM@式を追加して、列の合計を自動的に計算しています。 複数のワークシートの作成は、詳細なデータと要約情報を分離するなど、複雑なエクスポートを整理するのに役立ちます。 ワークシート管理のその他のパターンについては、Excel ファイル作成に関する IronXL のハウツーガイドをご覧ください。
フォーマットの柔軟性は、特にシステム統合のシナリオにおいて非常に価値があります。 XLSXはExcelファイルの標準形式ですが、CSV形式でのエクスポートは、データベースシステムや旧式のアプリケーションとの普遍的な互換性を提供します。 JSONおよびXML形式は、WebサービスやAPIとのデータ交換を容易にします。また、毎回新しいファイルを作成するのではなく、既存のワークブックを開いて、エクスポートしたデータを既存のスプレッドシートに追加することも可能です。
さまざまなエクスポート形式を比較するとどう違うのか?
製品ID、名前、カテゴリ、価格、および在庫の列を持つ製品在庫を示すExcelスプレッドシートで、セルD9に1839.95という合計式の結果が表示されています。
Excelのスプレッドシートで、セルA1とBに"製品合計:セルA1とB1に'5'がある'Summary'ワークシートを示すExcelスプレッドシート。
Excelのスプレッドシートに、商品ID、商品名、カテゴリー、価格、在庫数量の列を持つ商品の在庫データが表示され、セルD9に合計1839.95が表示されています。
商品ID、名前、カテゴリー、価格、在庫のフィールドを持つ商品データをコードエディターインターフェースで表示するJSONファイル。
IronXLはどのようにしてC#開発ワークフローを簡素化するのでしょうか?
IronXLの最大の利点は、Microsoft Officeへの依存関係を排除できる点です。 開発者のワークステーション、顧客のマシン、またはDockerコンテナのいずれにデプロイしても、アプリケーションは一貫して動作します。 この独立性はデプロイを簡素化し、Office のバージョンやインストールに関連するサポート問題を削減します。 MicrosoftのOpen XML SDKもOffice不要の代替手段の一つですが、IronXLの高レベルAPIと比較すると、かなり多くの定型コードが必要になります。 クロスプラットフォームの.NET 10開発に関するガイダンスについては、 Microsoftの.NETドキュメントに、プラットフォームターゲット、展開モデル、およびWindows Forms固有の事項が記載されています。
ライブラリの API 設計はシンプルさを優先しています。 InteropのCOMベースのアプローチは慎重なオブジェクト破棄を必要とするのに対し、 IronXLはC#開発者にとって自然な標準的な.NETパターンを採用している。 クロスプラットフォーム対応とは、Windows Forms向けに構築されたエクスポート機能を、Linuxサーバー上で動作するASP.NET Coreアプリケーションで再利用できることを意味します。 利用可能な機能の概要については、 IronXLの機能ページをご覧ください。
また、Excelからデータをインポートして、エクスポートする前にDataGridView@に事前にデータを入力し、ユーザーがExcelデータをロードし、グリッドで編集し、結果をExcelにエクスポートするラウンドトリップワークフローを作成することもできます。 Excelファイルの読み込みガイドでは、インポートに関する詳細を解説しています。
IronXLは、機密データを扱う際に、ワークブックレベルおよびワークシートレベルのパスワード保護をサポートしています。 IronXLのドキュメントには、エクスポートしたファイルを配布前に保護する必要があるシナリオにおけるセキュリティオプションが記載されています。
6つの主要カテゴリを示すExcelライブラリの機能概要:作成、保存とエクスポート、ワークブックの編集、データの操作、ワークブックの保護、レイアウトオプションの編集です。
制作現場での使用に関するライセンスオプションにはどのようなものがありますか?
IronXLを本番環境に導入するには、有効なライセンスキーが必要です。 無料トライアルライセンスから始めれば、すべての機能を評価のために利用できます。 IronXLのライセンスページで、シングル開発者ライセンスから無制限のEnterprise展開まで、利用可能なライセンス階層の詳細をご確認ください。
IronXLの機能を使用する前に、アプリケーションにライセンスキーを適用してください。
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
Imports IronXL
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
この一行のコードで、アプリケーションプロセスの存続期間中、ライブラリが有効になります。 ウェブアプリケーションやサービスの場合、起動時にライセンスキーを設定することで、すべてのリクエストがウォーターマークなしでフル機能を利用できるようになります。
IronXLのライセンスオプションは4段階:Lite (749ドル)、Plus (999ドル)、Professional (1,999ドル)、Unlimited (3,999ドル)。
C#でExcelエクスポートを行う際に、 IronXLを選ぶべき理由とは?
IronXLを使えば、データを簡単にExcelにエクスポートすることができます。 ライブラリは、従来の Interop の複雑さを排除し、プロフェッショナルなフォーマット機能と複数のエクスポート形式を提供します。 コンテナ対応のアーキテクチャ、最小限の依存関係、そしてクロスプラットフォーム対応により、最新のDevOpsワークフローに最適です。
IronXLのホームページは、ライブラリ全体を探索するための出発点です。 マイクロサービスの構築、Kubernetesクラスターへのデプロイ、サーバーレス関数の実行など、 IronXLはCI/CDパイプラインにスムーズに統合できます。 Excel へのエクスポート手順ガイドでは、さまざまなエクスポートシナリオに対応した追加のパターンが紹介されており、ワークブックの開く方法に関するガイドでは、既存のファイルの読み取りや変更について解説しています。
まずは無料トライアルライセンスで、すべての機能を体験してみてください。 IronXLのチュートリアルとコード例は、実運用に対応したソリューションを迅速に実装するのに役立ちます。 個々の開発者向けライセンスから無制限のEnterprise展開まで、導入ニーズに合わせた柔軟なライセンスオプションからお選びいただけます。 IronXLの利用開始に関するご質問は、 IronXLのドキュメントハブでAPIリファレンス、コードサンプル、トラブルシューティングガイドをご覧いただけます。
よくある質問
DataGridViewをExcelにエクスポートするためにIronXLを使用する利点は何ですか?
IronXLはMicrosoft Office Interopを必要とせず、デプロイメントの複雑さを軽減し、依存関係を取り除くことにより、DataGridViewの内容をExcelにエクスポートするプロセスを簡素化します。
IronXLはアプリケーション配布をどのように改善しますか?
IronXLは、Microsoft Office Interopを必要としないため、しばしば追加の依存関係を伴い、デプロイメントを複雑にするアプリケーション配布の複雑さを軽減します。
IronXL は VB.NET で DataGridView データをエクスポートできますか?
はい、IronXLはVB.NETでDataGridViewデータをExcelにエクスポートする実用的なソリューションを提供し、ビジネスアプリケーションでのデータ管理を容易にします。
DataGridViewをExcelにエクスポートするための一般的な使用例は何ですか?
レポートの生成、データのバックアップ作成、ビジネスコンテキストでのステークホルダーとの情報共有が一般的な使用例です。
IronXLはシステムにMicrosoft Excelのインストールが必要ですか?
いいえ、IronXLはExcelとは独立して動作するため、Microsoft Excelのインストールを必要とせず、デプロイメントプロセスを簡素化します。



