C#でXLSXファイルを作成

This article was translated from English: Does it need improvement?
Translated
View the article in English

ビジネスでの自動化が進む中、.NETアプリケーションでExcelスプレッドシートを操作する必要が頻繁にあります。これにはスプレッドシートの作成やデータのプログラムによる挿入が含まれます。 以下のチュートリアルでは、異なる形式(.xls, .xlsx, .csv および .tsv)でExcelスプレッドシートを作成し、セルスタイルを設定し、C#プログラミングを使用してデータを挿入する方法について学びます。


How to Create XLXL File in C#

  1. XLSXファイルを作成するためにExcelライブラリをインストールします。

  2. Workbook オブジェクトを使用してExcelファイルを作成します。

  3. デフォルトのWorksheetを選択します。

  4. デフォルトのWorksheetにデータを追加します。

  5. Excelファイルをディスクに保存します。

    ステップ 1

1. IronXL DLLをダウンロード

IronXLは、C#プロジェクトでExcel (.xlsx) ファイルを作成する最も簡単な方法を提供します。 DLLをダウンロードまたはNuGetインストールし、開発に無料で使用してください。

Install-Package IronXL.Excel

チュートリアルの方法

ワークブックを作成する

このソフトウェアを使用することで、データを挿入するだけでなく、フォントスタイルや境界線などのセルプロパティも設定できます。

2.1 .XLSXファイルを作成する

このコードを使用して新しいExcelファイルを作成し、デフォルトで拡張子が.xlsxであるWorkBookを作成します。

/**
Create XLSX File
anchor-create-a-workbook
**/
WorkBook wb = WorkBook.Create();
/**
Create XLSX File
anchor-create-a-workbook
**/
WorkBook wb = WorkBook.Create();
'''
'''Create XLSX File
'''anchor-create-a-workbook
'''*
Dim wb As WorkBook = WorkBook.Create()
$vbLabelText   $csharpLabel

2.2 .XLSファイルを作成

.xls 拡張子のファイルを作成したい場合は、次を使用します:

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
$vbLabelText   $csharpLabel

3. Excelワークシートを作成

お好みのファイル形式で作成したWorkBookの後に、Excel WorkSheetを作成します。 このコードは、WorkBook wb に新しい WorkSheet ws1sheet1 という名前で作成します。

WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
WorkSheet ws1 = wb.CreateWorkSheet("sheet1");
Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
$vbLabelText   $csharpLabel

3.1 複数のワークシートを作成

同じ方法で複数のWorkSheetsを作成することができます:

/**
Create WorkSheets
anchor-create-an-excel-worksheet
**/
WorkSheet ws2 = wb.CreateWorkSheet("sheet2");
WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
/**
Create WorkSheets
anchor-create-an-excel-worksheet
**/
WorkSheet ws2 = wb.CreateWorkSheet("sheet2");
WorkSheet ws3 = wb.CreateWorkSheet("sheet3");
'''
'''Create WorkSheets
'''anchor-create-an-excel-worksheet
'''*
Dim ws2 As WorkSheet = wb.CreateWorkSheet("sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("sheet3")
$vbLabelText   $csharpLabel

ワークシートにデータを挿入する

これで、簡単にWorkSheetセルにデータを挿入できます。

 worksheet ["CellAddress"].Value = "MyValue";
 worksheet ["CellAddress"].Value = "MyValue";
worksheet ("CellAddress").Value = "MyValue"
$vbLabelText   $csharpLabel

特定のワークシートにデータを挿入する

たとえば、ワークシートws1にデータを特定して挿入することができます。 以下のコードは、ワークシートws1A1セルにHello Worldを書き込みます。

/**
Insert WorkSheet Data
anchor-insert-data-into-worksheets
**/
ws1 ["A1"].Value = "Hello World";
/**
Insert WorkSheet Data
anchor-insert-data-into-worksheets
**/
ws1 ["A1"].Value = "Hello World";
'''
'''Insert WorkSheet Data
'''anchor-insert-data-into-worksheets
'''*
ws1 ("A1").Value = "Hello World"
$vbLabelText   $csharpLabel

セルにデータを挿入する

データを範囲機能を使用して多くのセルに書き込むことも可能です。 以下のコードは、WorkSheet ws1 のセル A3 から A8NewValue を書き込みます。

ws1 ["A3:A8"].Value = "NewValue";
ws1 ["A3:A8"].Value = "NewValue";
ws1 ("A3:A8").Value = "NewValue"
$vbLabelText   $csharpLabel

サンプルプロジェクトを作成する

新しいExcelファイルSample.xlsxを作成し、データを挿入します。

/**
Sample Project
anchor-make-a-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();  
    WorkSheet ws1 = wb.CreateWorkSheet("sheet1");                    
    ws1 ["A1"].Value = "Hello";           
    ws1 ["A2"].Value = "World";
    ws1 ["B1:B8"].Value = "RangeValue";
    wb.SaveAs("Sample.xlsx");
}
/**
Sample Project
anchor-make-a-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();  
    WorkSheet ws1 = wb.CreateWorkSheet("sheet1");                    
    ws1 ["A1"].Value = "Hello";           
    ws1 ["A2"].Value = "World";
    ws1 ["B1:B8"].Value = "RangeValue";
    wb.SaveAs("Sample.xlsx");
}
'''
'''Sample Project
'''anchor-make-a-sample-project
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Create()
	Dim ws1 As WorkSheet = wb.CreateWorkSheet("sheet1")
	ws1 ("A1").Value = "Hello"
	ws1 ("A2").Value = "World"
	ws1 ("B1:B8").Value = "RangeValue"
	wb.SaveAs("Sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

注意: デフォルトでは、新しい Excel ファイルはプロジェクトのbin>Debugフォルダーに作成されます。 カスタムパスに新しいファイルを作成する場合、以下を使用します:

wb.SaveAs(@"E:\IronXL\Sample.xlsx");

こちらが新しく作成したExcelファイルsample.xlsxのスクリーンショットです:

Doc5 1 related to サンプルプロジェクトを作成する

IronXLを使用してC#アプリケーションでExcelファイルを作成するのがどれほど簡単かは明らかです。


エクセルファイルのExcelMetadataを設定する

IronXLはExcelファイルのメタデータを設定する機能も提供しています。

/**
Set Metadata
anchor-set-metadata-for-excel-files
**/
WorkBook wb = WorkBook.Create();
wb.Metadata.Author = "AuthorName";
wb.Metadata.Title="TitleValue";
/**
Set Metadata
anchor-set-metadata-for-excel-files
**/
WorkBook wb = WorkBook.Create();
wb.Metadata.Author = "AuthorName";
wb.Metadata.Title="TitleValue";
'''
'''Set Metadata
'''anchor-set-metadata-for-excel-files
'''*
Dim wb As WorkBook = WorkBook.Create()
wb.Metadata.Author = "AuthorName"
wb.Metadata.Title="TitleValue"
$vbLabelText   $csharpLabel

7. セルスタイルを設定

C# アプリケーションで Excel ワークシートのセルスタイルを設定するのは非常に簡単です。 IronXLは、すべての必要なセルスタイリングプロパティを提供します。

フォントスタイルの設定

フォントスタイルは以下のように設定できます:

/**
Set Font Style
anchor-set-font-style
**/
WorkSheet ["CellAddress"].Style.Font.Bold =true;
WorkSheet ["CellAddress"].Style.Font.Italic =true;
/**
Set Font Style
anchor-set-font-style
**/
WorkSheet ["CellAddress"].Style.Font.Bold =true;
WorkSheet ["CellAddress"].Style.Font.Italic =true;
'''
'''Set Font Style
'''anchor-set-font-style
'''*
WorkSheet ("CellAddress").Style.Font.Bold =True
WorkSheet ("CellAddress").Style.Font.Italic =True
$vbLabelText   $csharpLabel

7.2. 取り消し線を追加

セルの値に取り消し線を引くには、次のように行います:

/**
Add Strikeout
anchor-add-strikeout
**/
WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
/**
Add Strikeout
anchor-add-strikeout
**/
WorkSheet ["CellAddress"].Style.Font.Strikeout = true;
'''
'''Add Strikeout
'''anchor-add-strikeout
'''*
WorkSheet ("CellAddress").Style.Font.Strikeout = True
$vbLabelText   $csharpLabel

7.3. 境界線スタイルを設定

ボーダーのスタイリングは、以下のコードを使用して行うことができます:

/**
Set Border Style
anchor-set-border-style
**/
WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
/**
Set Border Style
anchor-set-border-style
**/
WorkSheet ["CellAddress"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
'''
'''Set Border Style
'''anchor-set-border-style
'''*
WorkSheet ("CellAddress").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
$vbLabelText   $csharpLabel

8. セルのスタイリングを適用するサンプルプロジェクト

以下の例プロジェクトを使用して、複数のセルスタイルを設定し、それらを一緒にまとめる方法を見てみましょう。

/**
Sample Cell Styling Set
anchor-apply-cell-styling-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();                     
    WorkSheet ws = wb.CreateWorkSheet("sheet1");

    ws ["A1"].Value = "MyVal";
    ws ["B2"].Value = "Hello World";

    ws ["A1"].Style.Font.Strikeout = true;

    ws ["B2"].Style.Font.Bold =true;
    ws ["B2"].Style.Font.Italic =true;

    ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double;        
    ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
    ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick;
    ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot;
    ws ["C3"].Style.BottomBorder.SetColor("#ff6600");
    ws ["C3"].Style.TopBorder.SetColor("#ff6600");
    wb.SaveAs("Sample.xlsx");
}
/**
Sample Cell Styling Set
anchor-apply-cell-styling-sample-project
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Create();                     
    WorkSheet ws = wb.CreateWorkSheet("sheet1");

    ws ["A1"].Value = "MyVal";
    ws ["B2"].Value = "Hello World";

    ws ["A1"].Style.Font.Strikeout = true;

    ws ["B2"].Style.Font.Bold =true;
    ws ["B2"].Style.Font.Italic =true;

    ws ["C3"].Style.TopBorder.Type = IronXL.Styles.BorderType.Double;        
    ws ["C3"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted;
    ws ["C3"].Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick;
    ws ["C3"].Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot;
    ws ["C3"].Style.BottomBorder.SetColor("#ff6600");
    ws ["C3"].Style.TopBorder.SetColor("#ff6600");
    wb.SaveAs("Sample.xlsx");
}
'''
'''Sample Cell Styling Set
'''anchor-apply-cell-styling-sample-project
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Create()
	Dim ws As WorkSheet = wb.CreateWorkSheet("sheet1")

	ws ("A1").Value = "MyVal"
	ws ("B2").Value = "Hello World"

	ws ("A1").Style.Font.Strikeout = True

	ws ("B2").Style.Font.Bold =True
	ws ("B2").Style.Font.Italic =True

	ws ("C3").Style.TopBorder.Type = IronXL.Styles.BorderType.Double
	ws ("C3").Style.BottomBorder.Type = IronXL.Styles.BorderType.Dotted
	ws ("C3").Style.LeftBorder.Type = IronXL.Styles.BorderType.Thick
	ws ("C3").Style.RightBorder.Type = IronXL.Styles.BorderType.SlantedDashDot
	ws ("C3").Style.BottomBorder.SetColor("#ff6600")
	ws ("C3").Style.TopBorder.SetColor("#ff6600")
	wb.SaveAs("Sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

そして、こちらが新しく作成したExcelファイルsample.xlsxのスクリーンショットです。

Doc5 2 related to 8. セルのスタイリングを適用するサンプルプロジェクト

次のステップとExcelチュートリアル

.NET Excel の作成に関するステップバイステップのガイドを詳しく読む場合は、Create Excel Files Using C# tutorialをご覧ください。


チュートリアル クイック アクセス

Documentation related to チュートリアル クイック アクセス

APIリファレンスを参照

IronXLのドキュメントを読んでください。IronXLのすべての名前空間、機能セット、クラス、メソッド、フィールド、および列挙型の説明が含まれています。

APIリファレンスを表示
チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。