IRONXLの使用

C#でExcelファイルを開いてデータを書き込む方法

更新済み 6月 20, 2023
共有:

この記事では、IronXLライブラリを使用して、C#コンソールアプリケーションでMicrosoft Excelファイルを開き、データを書き込む方法を説明します。

IronXL - エクセルライブラリ

IronXL は、C#アプリケーションでExcelファイルの作成、読み取り、編集を容易にする.NET Excelライブラリです。 優れたパフォーマンスと正確な出力を提供します。 ライブラリはサポートしています すべてのExcelワークブックファイル形式XLS、XLSX、XLSM、CSV、およびTSVを含む形式をサポートしています。さらに、データをJSON、HTML、バイナリ、バイト配列などの形式で保存またはエクスポートすることもできます。 データセット (データセット) またはデータテーブル (データテーブル).

IronXLを使用すると、開発者はワークシートやセル範囲をシームレスに操作できます。 それは、シート内で数式を編集し、簡単に再計算する機能を提供します。 データの並べ替え 範囲、列、または行に基づいて簡単に行えます。 ライブラリは、レイアウトを変更する機能を提供します。例えば、 ウィンドウ枠の固定, 自動サイズ調整行/列、および 行および列の追加/削除.

IronXLも 保護を可能にします ユーザーのパスワードと編集権限が設定されたExcelファイルの取り扱い。 もう一つの注目すべき機能は、Excelワークシートから画像を追加、削除、抽出できることです。 ライブラリは、さまざまなExcel機能を提供し、様々な セルデータ形式. これらの機能により、IronXLはExcelファイルを扱うための最もユーザーフレンドリーなAPIの一つとなっています。

IronXLの大きな利点の一つは、マシンにMicrosoft Excelをインストールする必要がないことです。これにより、Office Interopや他の依存関係が不要になります。 複数のプラットフォームと互換性があり、.NET 7、6、5をサポートしています。.NET Core 2および3、さらにExcelスプレッドシートで作業するための.NET Framework 4.5以降のバージョンとも互換性があります。

コンソールアプリケーションを作成する

アプリケーションを作成するには、最新バージョンのVisual Studio IDEを推奨します。 Visual StudioはC#開発のための公式IDEであり、既にインストールされていることが前提となっています。 もしVisual Studioをインストールしていない場合は、公式サイトからダウンロードできます。 マイクロソフト ビジュアル スタジオのウェブサイト.

以下の手順に従って、新しいプロジェクト「DemoApp」を作成してください。

  1. Visual Studioを開き、「新しいプロジェクトの作成」をクリックしてください。

    C#でExcelファイルを開いてデータを書き込む方法、図1: 新しいプロジェクト

    新しいプロジェクト

  2. コンソールアプリケーションを選択し、次へをクリックしてください

    Excelファイルを開き、C#でデータを書く方法、図2:新しいプロジェクトタイプ

    新しいプロジェクト タイプ

  3. プロジェクト名を入力してください

    エクセルファイルを開いてデータを書き込む方法 C#で書く, 図3: 新しいプロジェクト名

    新しいプロジェクト名

  4. .NETバージョンを選択してください。 安定版の.NET 6.0を選択してください。

    ![以下の内容を日本語に翻訳してください:

Excelファイルを開いてデータを書き込む方法 (C#の場合)、図4: 新しいプロジェクトの追加情報](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-4.webp)

 **新規プロジェクト追加情報**

IronXLライブラリをインストール

プロジェクトが作成されたら、使用するためにIronXLライブラリをプロジェクトにインストールする必要があります。 インストールするには、次の手順に従ってください。

  1. ソリューション エクスプローラーまたはツールから「ソリューション用 NuGet パッケージの管理」を開きます。

    Excelファイルを開いてデータを書き込む方法(C#)、図5: NuGetパッケージマネージャー

    NuGetパッケージマネージャー

  2. IronXLライブラリを参照し、現在のプロジェクトを選択します。 インストールをクリックしてください。

    Excelファイルを開いてデータを書き込む方法(C#)、図6: NuGetパッケージマネージャーUIでIronXLパッケージを検索してインストール

    NuGetパッケージマネージャーUIでIronXLパッケージを検索してインストールする

    Program.cs ファイルの冒頭に次の名前空間を追加します

using IronXL;
using IronXL;
Imports IronXL
VB   C#

C#で既存のExcelファイルを開く

IronXLは、既存のExcelファイルを開く機能や、新しいExcelファイルを作成する機能を提供します。この例では、C# IronXLを使用して既存のファイルを開く方法を示します。

// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
VB   C#

では、最初のワークシートを選択しましょう。 インデックス番号または名前でワークシートを選択できます。 DefaultWorkSheetプロパティは、最初のシートを取得するのに役立ちます。

// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];

// Select worksheet by name 
WorkSheet ws = wb.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];

// Select worksheet by name 
WorkSheet ws = wb.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets (0)

' Select worksheet by name 
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
VB   C#

上記のコードはExcelワークブックから最初のシートを取得します。 新しいデータを含むExcelファイルを作成するには、こちらをご確認ください コード例ページ.

では、IronXLオブジェクトライブラリを使用してExcelファイルにデータを書き込みましょう。

C#でExcelファイルにデータを書き込む

IronXLを使用してExcelファイルにデータを書き込むのは非常に簡単です。 それをアーカイブする方法は複数ありますが、最も簡単な方法はExcelセル参照を使用することです。

// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
' Access A1 cell and write the value
workSheet ("A1").Value = "Value using cell reference"
VB   C#

データを一連のセルに書き込むことも可能です。 以下のコードは、セルB1からB5までのデータを書き込む。

workSheet ["B1:B5"].Value = "Range value";
workSheet ["B1:B5"].Value = "Range value";
workSheet ("B1:B5").Value = "Range value"
VB   C#

範囲を動的にするために for ループを使用して埋めることもできます。 コードは次のようになります:

//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    //write the Dynamic value in one row
    workSheet ["C" + i].Value = "Value: " + i;

    //write the Dynamic value in another row
    ws ["D" + i].Value = "Value: " + i;
}
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    //write the Dynamic value in one row
    workSheet ["C" + i].Value = "Value: " + i;

    //write the Dynamic value in another row
    ws ["D" + i].Value = "Value: " + i;
}
'specify range in which we want to write the values
For i As Integer = 1 To 5
	'write the Dynamic value in one row
	workSheet ("C" & i).Value = "Value: " & i

	'write the Dynamic value in another row
	ws ("D" & i).Value = "Value: " & i
Next i
VB   C#

データをExcelファイルに書き込む別の方法は、 置換 メソッド。

workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ("D5").Replace("Value: 5", "Replaced Value")
VB   C#

C#でExcelファイルを保存する

このセクションでは、新しく書き込まれたコンテンツを含むExcelファイルを保存する方法について説明します。

workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx")
VB   C#

コードは次のようになります:

using System;
using IronXL;

static void Main(string [] args)
{
    // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
    WorkBook workBook = WorkBook.Load("sample.xlsx");

    // Select worksheet at index 0
    WorkSheet workSheet = workBook.WorkSheets [0];

    // Access A1 cell and write the value
    workSheet ["A1"].Value = "Value using cell reference";

    workSheet ["B1:B5"].Value = "Range value";

    //specify range in which we want to write the values
    for (int i = 1; i <= 5; i++)
    {
        //write the Dynamic value in one row
        workSheet ["C" + i].Value = "Value: " + i;

        //write the Dynamic value in another row
        workSheet ["D" + i].Value = "Value: " + i;
    }

    workSheet ["D5"].Replace("Value: 5", "Replaced Value");

    workBook.SaveAs("sample.xlsx");
    Console.WriteLine("successfully written in Excel File");
}
using System;
using IronXL;

static void Main(string [] args)
{
    // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
    WorkBook workBook = WorkBook.Load("sample.xlsx");

    // Select worksheet at index 0
    WorkSheet workSheet = workBook.WorkSheets [0];

    // Access A1 cell and write the value
    workSheet ["A1"].Value = "Value using cell reference";

    workSheet ["B1:B5"].Value = "Range value";

    //specify range in which we want to write the values
    for (int i = 1; i <= 5; i++)
    {
        //write the Dynamic value in one row
        workSheet ["C" + i].Value = "Value: " + i;

        //write the Dynamic value in another row
        workSheet ["D" + i].Value = "Value: " + i;
    }

    workSheet ["D5"].Replace("Value: 5", "Replaced Value");

    workBook.SaveAs("sample.xlsx");
    Console.WriteLine("successfully written in Excel File");
}
Imports System
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
	Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

	' Select worksheet at index 0
	Dim workSheet As WorkSheet = workBook.WorkSheets (0)

	' Access A1 cell and write the value
	workSheet ("A1").Value = "Value using cell reference"

	workSheet ("B1:B5").Value = "Range value"

	'specify range in which we want to write the values
	For i As Integer = 1 To 5
		'write the Dynamic value in one row
		workSheet ("C" & i).Value = "Value: " & i

		'write the Dynamic value in another row
		workSheet ("D" & i).Value = "Value: " & i
	Next i

	workSheet ("D5").Replace("Value: 5", "Replaced Value")

	workBook.SaveAs("sample.xlsx")
	Console.WriteLine("successfully written in Excel File")
End Sub
VB   C#

C#でExcelファイルデータを読み取る方法に関する詳細情報については、こちらをご覧ください この例.

出力

ファイルの出力は:

C#でExcelファイルを開いてデータを書く方法、図7: 出力されるExcelファイル

出力Excelファイル

サマリー

この記事では、IronXLを使用してC#でExcelファイルにデータを書き込む方法を説明しました。 IronXLは、既存のExcelファイルを手間なく操作する機能を提供します。 また、簡単な構文で新しいExcelファイルを作成し、データを書き込むこともできます。 IronXLは、Microsoft ExcelアプリケーションがインストールされていなくてもExcelファイルを読み取るために使用できます。 Excelファイルからデータを読み取るには、こちらをご覧ください コード例ページ.

IronXL は開発には無料で使用でき、商用利用にはライセンスが必要です。 IronXLの無料版もお試しいただけます。 トライアル 商業利用のため。

< 以前
C#を使用してExcelの保護ビューを無効にする方法
次へ >
大量のデータをDataTableからExcelにエクスポートする方法 (C#)

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 977,734 View Licenses >