フッターコンテンツにスキップ
IRONXLの使用

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チームが必要とするデプロイの柔軟性を提供します。

IronXL homepage showcowing C# code example for reading Excel files without Microsoft Office or Excel Interop, featuring syntax highlighting and NuGet download statistics..

なぜ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ファイルを生成するスタンドアロンライブラリを提供することで、これらの課題に対処します。 このアプローチにより、開発、テスト、本番環境全体で一貫した機能が確保されるとともに、コンテナやクラウドプラットフォームへのデプロイもサポートされます。

複数のバージョン(9、8、7、6、Core、Standard、Framework)にまたがる .NET の互換性を示すクロスプラットフォームサポート図(Windows、Linux、Mac、Docker、Azure、AWS を含むさまざまなプラットフォームのアイコン付き)

IronXLとInteropの比較は?

以下の表は、 IronXLとMicrosoft Office Interop for Excelのエクスポートシナリオにおける主な違いをまとめたものです。

IronXLとMicrosoft Officeの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
SHELL

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!")
$vbLabelText   $csharpLabel

このコードは、コアエクスポート機能を示しています。 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!")
$vbLabelText   $csharpLabel

この強化版では、エクスポートされた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!")
$vbLabelText   $csharpLabel

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ファイル

XML file showing exported DataGridView data with product information including IDs, names, categories, prices, and stock levels organized in Sheet elements..

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"
$vbLabelText   $csharpLabel

この一行のコードで、アプリケーションプロセスの存続期間中、ライブラリが有効になります。 ウェブアプリケーションやサービスの場合、起動時にライセンスキーを設定することで、すべてのリクエストがウォーターマークなしでフル機能を利用できるようになります。

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のインストールを必要とせず、デプロイメントプロセスを簡素化します。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね