"},動的なExcelの更新,IronXLによるExcelデータ検証"> フッターコンテンツにスキップ
IRONXLの使用

C#で新しいExcelワークブックを作成する方法

Microsoft Excel は、さまざまな業界でデータ操作と分析において最も普遍的なツールの1つです。 多くのソフトウェアプロジェクトでは、Excelファイルにプログラムで関与する必要があることがよくあります。 これには、レポート生成、データのインポートやエクスポートの管理、特定のプロセスの自動化などのタスクが含まれることがあります。

C#プログラミング言語エコシステムでは、IronXL はExcelファイル操作のための堅牢なライブラリとして際立っています。 Webアプリケーション、デスクトップソフトウェア、またはその他のC#プロジェクトで作業している開発者であれば、IronXL は、Excelファイルをシームレスに操作するための使いやすいインターフェイスを提供します。

C#で新しいExcelワークブックを作成する方法

このチュートリアルでは、C#でIronXLを使用して新しいワークブックを作成するプロセスを学びます。 開発環境のセットアップから、新しいExcelワークブックを生成するコードの記述まで、必要な手順を説明します。

このチュートリアルの最後には、IronXLを活用してプログラムでExcelワークブックを作成する方法をしっかりと理解し、C#アプリケーションにExcel機能をスムーズに統合できるようになります。 さあ、始めましょう!

IronXLとは?

IronXL は、Microsoft Office Excel InteropやExcelアプリケーションを必要とせずにExcelドキュメントを操作できる多用途なC#ライブラリです。 It lets you easily read, create, and modify workbooks, format cells, add formulas, and work with both modern and older Excel file formats.

データの検証、画像の挿入、条件付き書式の適用、チャートの作成をMicrosoft Officeを必要とせずに行えます。IronXLを使用することで、開発者は財務報告書、データダッシュボード、在庫管理などのタスクのためのExcelソリューションを簡単に構築できます。

さあ、C#でExcelファイルを作成し始めましょう。

ステップ 1: 新しい C# プロジェクトを作成する

Visual Studioを開き、新しいC#コンソールアプリケーションプロジェクトを作成します。 好きなように名前を付けてください。 ASP.NET MVC、Blazor、MAUI、WEB Forms、Windows Forms、WEB API などの他の種類のプロジェクトも作成できます。このコードはすべてのプロジェクトタイプで動作します。シンプルにするためにコンソールアプリケーションを作成していますが、すべてのプロジェクトタイプに関連するものにしています。

ステップ2: IronXL NuGetパッケージのインストール

C#プロジェクトにIronXLパッケージをインストールするには、次のいずれかの方法を使用します:

  1. IronXLをインストールするには、ソリューションエクスプローラーでプロジェクトを右クリックし、「NuGetパッケージの管理」を選択し、IronXLを検索してインストールを進めます。

C#で新しいExcelワークブックを作成する方法: 図1 - NuGetパッケージマネージャーの検索バーでIronXLを検索し、プロジェクトを選択してインストールボタンをクリックして、ソリューションのNuGetパッケージを管理してIronXLをインストールします。

  1. 代わりに、パッケージマネージャーコンソールを使用して次のコマンドを使用してIronXLをインストールすることもできます:
Install-Package IronXL.Excel

このコマンドは、パッケージのダウンロード、インストール、およびアセンブリ参照をプロジェクトに追加します。 パッケージがダウンロードされ、インストールされるまで待ちます。 インストールが完了すると、プログラムでExcelファイルを操作するためにプロジェクトでIronXLを使用できるようになります。

C#で新しいExcelワークブックを作成する方法: 図2 - パッケージマネージャーコンソールコマンドを使用してIronXLをインストール: Install-Package IronXL.Excel

ステップ3: 必要な名前空間のインポート

C#ファイルの先頭に次の名前空間を追加します:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

ステップ4: 新しいExcelファイルの作成

さて、Excelファイルを作成するためのコードを書いてみましょう:

internal class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook in the XLSX format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        workBook.Metadata.Author = "Mr. Author"; // Set the author (optional)

        // Add a blank worksheet named "Sheet1"
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Add data to the new worksheet
        workSheet["A1"].Value = "Developer Name";
        workSheet["A2"].Value = "John Grahm";
        workSheet["A3"].Value = "David Smith";
        workSheet["A4"].Value = "Rishi Kelkar";

        // Save the Excel file as "Developers.xlsx"
        workBook.SaveAs("Developers.xlsx");
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook in the XLSX format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        workBook.Metadata.Author = "Mr. Author"; // Set the author (optional)

        // Add a blank worksheet named "Sheet1"
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Add data to the new worksheet
        workSheet["A1"].Value = "Developer Name";
        workSheet["A2"].Value = "John Grahm";
        workSheet["A3"].Value = "David Smith";
        workSheet["A4"].Value = "Rishi Kelkar";

        // Save the Excel file as "Developers.xlsx"
        workBook.SaveAs("Developers.xlsx");
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new workbook in the XLSX format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		workBook.Metadata.Author = "Mr. Author" ' Set the author (optional)

		' Add a blank worksheet named "Sheet1"
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

		' Add data to the new worksheet
		workSheet("A1").Value = "Developer Name"
		workSheet("A2").Value = "John Grahm"
		workSheet("A3").Value = "David Smith"
		workSheet("A4").Value = "Rishi Kelkar"

		' Save the Excel file as "Developers.xlsx"
		workBook.SaveAs("Developers.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

上記のコードは、C#でIronXLを使用してプログラムでExcelファイルを作成する方法を示しています。 まず、新しいExcelワークブック(Excelファイルの新しいインスタンス)をXLSX形式で作成し、作成者のメタデータを設定し、CreateWorkSheet()メソッドを使用して「Sheet1」という名前の空白のExcelワークシートを追加し、セルA1からA4にデータを入力し、最後にワークブックを「Developers.xlsx」として保存します。

IronXLは、Excelファイルの作成、操作、XLSX、CSV、TSV、JSON、XML、HTMLなどのさまざまな形式での保存を含む幅広い機能性を提供します。

出力は次のとおりです。

C#で新しいExcelワークブックを作成する方法: 図3 - 出力: Developers.xlsx

ステップ5: Excelファイルのフォーマットとスタイリング

IronXLを使用すると、セルの書式設定、フォントスタイルの適用、背景色の設定、配置の調整ができます。 セルの外観をカスタマイズすることで、プロフェッショナルな見た目のスプレッドシートを作成できます。

// Set style of heading for cell A1
workSheet["A1"].Style.BackgroundColor = "#FFFF66"; // Light yellow background
workSheet["A1"].Style.Font.Bold = true; // Bold font

// Set border style for a specific range (A1:A4)
var range = workSheet["A1:A4"];
range.Style.BottomBorder.Type = BorderType.Medium; // Medium bottom border
range.Style.LeftBorder.Type = BorderType.Medium; // Medium left border
range.Style.RightBorder.Type = BorderType.Medium; // Medium right border
range.Style.TopBorder.Type = BorderType.Medium; // Medium top border
// Set style of heading for cell A1
workSheet["A1"].Style.BackgroundColor = "#FFFF66"; // Light yellow background
workSheet["A1"].Style.Font.Bold = true; // Bold font

// Set border style for a specific range (A1:A4)
var range = workSheet["A1:A4"];
range.Style.BottomBorder.Type = BorderType.Medium; // Medium bottom border
range.Style.LeftBorder.Type = BorderType.Medium; // Medium left border
range.Style.RightBorder.Type = BorderType.Medium; // Medium right border
range.Style.TopBorder.Type = BorderType.Medium; // Medium top border
' Set style of heading for cell A1
workSheet("A1").Style.BackgroundColor = "#FFFF66" ' Light yellow background
workSheet("A1").Style.Font.Bold = True ' Bold font

' Set border style for a specific range (A1:A4)
Dim range = workSheet("A1:A4")
range.Style.BottomBorder.Type = BorderType.Medium ' Medium bottom border
range.Style.LeftBorder.Type = BorderType.Medium ' Medium left border
range.Style.RightBorder.Type = BorderType.Medium ' Medium right border
range.Style.TopBorder.Type = BorderType.Medium ' Medium top border
$vbLabelText   $csharpLabel

上記のコードは、C#でIronXLを使用してExcelワークシート内の特定のセルの外観をカスタマイズする方法を示しています。 まず、セルA1の背景色を淡い黄色に設定し、フォントを太字にして見出しとしてスタイリングします。

次に、セルA1からA4までの範囲を定義し、その範囲の下、左、右、上の各エッジに中程度のボーダーを設定して、ワークシート内の視覚的な区別を強化します。 これらのスタイリングオプションにより、開発者は特定のニーズに合わせて視覚的に魅力的で整理されたExcelドキュメントを作成できます。

出力は次のとおりです。

C#で新しいExcelワークブックを作成する方法: 図4 - IronXLを使用したフォーマットとスタイリングのExcel生成。

ステップ6: 数式と計算

セルにプログラムで数式を追加することができます。 IronXLは広範囲なExcel関数をサポートしています。

// Add a new column to display the length of developer names
workSheet["B1"].Value = "Name Length";
workSheet["B1"].Style.BackgroundColor = "#FFFF66"; // Styled as heading
workSheet["B1"].Style.Font.Bold = true; // Bold font

// Formula to calculate the length of names in column B
workSheet["B2"].Value = "=LEN(A2)";
workSheet["B3"].Value = "=LEN(A3)";
workSheet["B4"].Value = "=LEN(A4)";

// Add a total count of the length of names in cell A5
workSheet["A5"].Value = "Sum of Length";
workSheet["B5"].Formula = "=SUM(B2:B4)";
// Add a new column to display the length of developer names
workSheet["B1"].Value = "Name Length";
workSheet["B1"].Style.BackgroundColor = "#FFFF66"; // Styled as heading
workSheet["B1"].Style.Font.Bold = true; // Bold font

// Formula to calculate the length of names in column B
workSheet["B2"].Value = "=LEN(A2)";
workSheet["B3"].Value = "=LEN(A3)";
workSheet["B4"].Value = "=LEN(A4)";

// Add a total count of the length of names in cell A5
workSheet["A5"].Value = "Sum of Length";
workSheet["B5"].Formula = "=SUM(B2:B4)";
' Add a new column to display the length of developer names
workSheet("B1").Value = "Name Length"
workSheet("B1").Style.BackgroundColor = "#FFFF66" ' Styled as heading
workSheet("B1").Style.Font.Bold = True ' Bold font

' Formula to calculate the length of names in column B
workSheet("B2").Value = "=LEN(A2)"
workSheet("B3").Value = "=LEN(A3)"
workSheet("B4").Value = "=LEN(A4)"

' Add a total count of the length of names in cell A5
workSheet("A5").Value = "Sum of Length"
workSheet("B5").Formula = "=SUM(B2:B4)"
$vbLabelText   $csharpLabel

上記のコードは、開発者の名前の長さを計算し、Excelワークシート内でこれらの長さの合計を計算するIronXL内の数式および関数の利用を示しています。 このデモンストレーションを通じて、開発者はIronXL内で数式と関数を統合してExcelワークシート内で動的な計算と操作をプログラムで実行し、データ処理タスクにおける柔軟性と自動化を提供する方法を理解できます。

まず、セルB1に「名前の長さ」というタイトルの見出しを追加し、その重要性を際立たせるためのスタイリングを施します。 続いて、LEN関数を使用して、列Aの対応するセルを参照し、各開発者の名前の長さを計算する数式をセルB2、B3、B4に適用します。 これは開発者の名前が変更されると、自動的に名前の長さを計算できるようにします。

さらに、セルB5で、セルB2からB4までの値を合計するSUM関数を使用して、開発者の名前の長さの合計が計算されます。

これらの数式を組み込むことで、ワークシートが動的に更新されます。 この使用例は実用的ではないかもしれませんが、コード内でExcel数式を使用する例にすぎません。

C#で新しいExcelワークブックを作成する方法: 図5 - IronXLを使用した数式と計算のExcel出力。

結論

In summary, this tutorial has demonstrated the process of creating a new Excel workbook in C# using IronXL, a robust library facilitating Excel file manipulation within the C# ecosystem. IronXLを使用することで、開発者は開発環境のセットアップからプログラムでExcelワークブックを生成するまで、アプリケーションにExcel機能をシームレスに統合できます。 フォーマット、スタイリング、数式の適用などのタスクを実行できる機能に加えて、IronXLは効率的なデータ管理と分析のための包括的な機能セットを提供します。

IronXLの使用方法に関する参考資料については、ドキュメントページをご覧ください。 IronXLは、開始に役立つ多くのコード例も提供しています。

開発者は、その無料トライアルとライセンス購入を通じてIronXLを探索し、スムーズな移行から完全な実装までを保証することができます。 永久ライセンスの詳細については、ライセンスページリンクをご覧ください。

よくある質問

C#でInteropを使用せずに新しいExcelワークブックをどのように作成しますか?

C#でInteropを使用せずにIronXLを利用して新しいExcelワークブックを作成できます。まずC#プロジェクトをセットアップし、IronXL NuGetパッケージをインストールします。その後、IronXLのAPIを使用して新しいワークブックを作成し、ワークシートを追加し、それらにデータを入力します。

C#を使用してExcelワークブックのセルをどうやってフォーマットしますか?

IronXLを使用すると、C#でExcelワークブックのセルをフォーマットできます。IronXLは、フォントの変更、背景色、枠線などのスタイルをプログラム的に適用することが可能で、プロフェッショナルな外観のスプレッドシートを作成できます。

C#で作成したExcelワークブックで数式を使用できますか?

はい、IronXLを使用してC#で作成したExcelワークブックでは数式を使用できます。IronXLは多様なExcel関数をサポートしており、ワークシート内で直接列の合計や平均を計算することが可能です。

IronXLを使用することによるMicrosoft Office Interopよりの利点は何ですか?

IronXLは、サーバーにExcelをインストールする必要がない、パフォーマンスが速い、C#アプリケーションへの統合が簡単など、Microsoft Office Interopに比べていくつかの利点を提供します。また、Interopのオーバーヘッドなしで幅広いExcel機能をサポートしています。

C#プロジェクトにIronXLをどのようにインストールしますか?

C#プロジェクトにIronXLをインストールするには、Visual Studioの「NuGetパッケージの管理」オプションにアクセスし、IronXLを検索してインストールします。また、パッケージマネージャーコンソールでコマンドInstall-Package IronXL.Excelを使用することも可能です。

IronXLはWebアプリケーションで使用できますか?

はい、IronXLはASP.NET MVCやBlazorなどのWebアプリケーションで使用できます。その柔軟性により、さまざまなプロジェクトタイプ、WebフォームやAPIにExcel機能を統合することが可能です。

IronXLはどのようなファイル形式を扱えますか?

IronXLは、XLSX、CSV、TSV、JSON、XML、HTMLを含む複数のファイル形式をサポートしています。これにより、Excel関連のタスクで異なるデータ形式をシームレスに処理できます。

IronXLはどのようにしてExcelのプロセスを自動化するのに役立ちますか?

IronXLは、開発者がC#アプリケーション内でExcelファイルをプログラム的に作成、変更、管理することを可能にすることで、Excelのプロセスを自動化するのに役立ちます。これには、レポート生成、データのインポート/エクスポート、計算の自動化が含まれます。

IronXLのドキュメントとチュートリアルはどこでアクセスできますか?

IronXLのドキュメントとチュートリアルはIronXLのウェブサイトで利用可能です。これらのリソースは、プロジェクトでIronXLの機能を効果的に使用するための詳細なガイドや例を提供します。

IronXLには無料試用版がありますか?

はい、IronXLはその機能を探求するために開発者に無料試用版を提供しています。この試用版は、IronXLの能力を評価し、プログラム的にExcelワークブックを作成および管理するのに役立ちます。

Curtis Chau
テクニカルライター

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

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