IRONXLの使用

C#を使用してExcelのセルを自動調整する方法

公開済み 2024年4月29日
共有:

イントロダクション

今日のデータ主導の世界において、Microsoft Excelは企業や専門家にとって不可欠なツールであり続けます。数字の計算、レポートの作成、データの可視化に至るまで、Excelの多用途性は他に類を見ません。 しかし、C#でプログラム的にExcelファイルを操作する場合、開発者はしばしば困難に直面します。 ここはIronXLライブラリは、C#環境内でのExcelオートメーションにシームレスなソリューションを提供します。

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

のライブラリIron Software は、C# .NETおよびVB.NET環境において、Excelドキュメントをシームレスに処理するための直感的なAPIを提供します。 IronXL を使用すると、Microsoft Office や Excel Interop コンポーネントをインストールする必要はありません。 これは、開発者がExcelスプレッドシートファイルを簡単に読み取り、編集し、作成することを可能にし、.NET 8、7、6、Core Frameworks、およびAzure環境を含むさまざまな.NETフレームワークを完全にサポートします。

この記事では、C#とIronXLを使用してExcelの列幅と行高さを自動調整する方法を学びます。

1. Excelワークシートでセルの自動調整をデモするビジュアルスタジオプロジェクトを作成します。

  1. インストールIronXLプロジェクトにライブラリを追加する

  2. IronXLライブラリを使用して列の幅を自動調整する。

  3. IronXLライブラリを使用して行の高さを自動調整します。

  4. IronXLライブラリを使用して、列の幅と行の高さを手動で設定します。

    IronXL

IronXLは、開発者が最新のスプレッドシート機能を備えたスプレッドシートファイル(xls、xlsx、csvなど)を生成、操作、および利用するための強力なツールです。このライブラリは、.NET、Python、Javaなどのプログラミング言語で使用できます。IronXLを活用することで、アプリケーションにおけるデータ処理や分析を効率的に行うことができます。

主な機能:

  • スプレッドシートの作成と編集:
    • 新しいスプレッドシートファイルの作成
    • 既存のスプレッドシートファイルの読み込みおよび編集
  • セル、行、および列の操作
  • データ操作:
    • データのフィルタリングおよび並べ替え
    • 数式および関数の使用
  • セルスタイルとフォーマットの設定
  • インポートおよびエクスポート:
    • csv、xls、xlsx、tsvファイルなどのインポートおよびエクスポート
    • 複数のシートのサポート

IronXLはまた、Excelのスタイルやフォーマットの設定を簡単に行える機能も提供しており、開発者がユーザーフレンドリーなスプレッドシートソリューションを作成するのを助けます。また、IronXLは信頼性の高いパフォーマンスを提供し、スプレッドシート関連の多くのタスクを迅速かつ効率的に処理します。

IronXLを使用することで、複雑なデータ操作タスクを簡単に自動化し、スプレッドシート管理の効率を大幅に向上させることができます。

IronXLライブラリは、C#開発者のためにExcelスプレッドシートの操作を簡略化するために設計された多用途の.NETライブラリです。 高速かつ直感的なAPIを提供するIronXLは、Office Interopに頼ることなく、ユーザーがExcelファイルに簡単にアクセス、修正、生成できるようにします。その互換性は、特別な依存関係やMicrosoft Officeのインストールを必要とせず、.NET CoreやAzureを含むさまざまな.NETフレームワークにまで及びます。C#、VB.NET、F#など、複数の.NET言語をサポートしており、IronXLはコンソール、ウェブ、デスクトップアプリケーションを含む多様な開発シナリオに対応できます。 さらに、IronXLの互換性はWindows、Linux、macOS、Docker、Azure、AWSなどさまざまなプラットフォームにわたるため、多様な環境で効率的なExcel統合を求める開発者にとって不可欠なツールとなります。

IronXLライブラリの主な機能

  1. 簡単な統合:IronXLC#アプリケーションとシームレスに統合し、Excel自動化のためのシンプルで直感的なAPIを提供します。 開発者は、最小限の学習曲線で迅速に開始することができます。

  2. Excelファイルの読み書き: IronXLを使用すると、既存のExcelファイルからデータを簡単に読み取ったり、新規または既存のスプレッドシートにデータを書き込んだりすることができます。 この機能は、データのインポート/エクスポートやレポート生成といったタスクに不可欠です。

  3. 書式設定とスタイリング: IronXLを使用すると、フォント、色、ボーダーなどを含むExcelセルに書式設定とスタイリングを適用できます。 これにより、生成されたExcelファイルがプロフェッショナルで洗練された外観を保つことができます。

  4. 数式サポート: 複雑な計算を行う必要がありますか、それともExcelデータに数式を適用しますか? IronXLはExcelの数式をサポートしており、計算やデータ操作を自動化することができます。

  5. セルの自動調整: IronXLによって提供される便利な機能の一つは、Excelのセルを自動調整する機能です。これにより、コンテンツが各セル内に綺麗に収まり、切り捨てられることがありません。

ステップ1: ExcelワークシートでセルのオートフィットをデモするためにVisual Studioプロジェクトを作成します。

始めに、以下のようにVisual Studioプロジェクトを作成しましょう。 リストからコンソール アプリケーション テンプレートを選択します

ExcelでC#を使用してセルに自動調整する方法: 図1 - Visual Studioを開き、C#のコンソールアプリケーションタイプの新しいプロジェクトを追加します。

プロジェクト名と場所を提供してください

C#を使用してExcelのセルを自動調整する方法: 図2 - 次に、プロジェクト名と場所を指定します。

必要な .NET バージョンをドロップダウンから選択し、「作成」をクリックしてください。

Excelでセルの自動調整をC#を使用して行う方法:図3 - 次に、必要な.NET Frameworkバージョンを選択し、「作成」をクリックします。

ステップ2:プロジェクトにIronXLライブラリをインストールする。

インストールIronXLVisual Studio NuGet パッケージマネージャーからライブラリ

ExcelでC#を使用してセルを自動調整する方法:図4 - NuGetパッケージマネージャーの検索バーで「IronXL」を検索し、プロジェクトを選択してインストールボタンをクリックすることで、Manage NuGet Package for Solutionを使用してIronXLをインストールします。

このパッケージは、NuGet コマンドラインを使用してインストールすることもできます。

dotnet add package IronXL.Excel --version 2024.3.20
// or
Install-Package IronXL.Excel
dotnet add package IronXL.Excel --version 2024.3.20
// or
Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.3.20 Install-Package IronXL.Excel
VB   C#

C#を使用してExcelでセルを自動調整する方法:図5 - IronXL.Excel NuGetパッケージ

これでコードの記述を開始する準備が整いました。

ステップ3: IronXLライブラリを使用して列の幅を自動調整する

以下の内容を日本語に翻訳します:

AutoSizeColumn メソッドはIronXLライブラリは、内容に合わせて列の幅を調整します。 このメソッドは、セルに使用されているフォントに基づいてテキストの幅を計算します。 システムに該当のフォントが存在しない場合、デフォルトフォントを使用して測定を試みます。 デフォルトのフォントが見つからない場合、利用可能なフォントを使用しようとします。 しかし、フォントが見つからない場合は、例外がスローされます。 それはパラメータとしてゼロベースの列インデックスを使用します。 0 と との範囲内である必要があります(列数 - 1). 提供されたcolumnIndexが有効範囲外である場合、ArgumentExceptionがスローされます。 マシンにフォントがインストールされていない場合、SixLabors.Fonts.FontException がスローされます。

では、次に、Excelファイルをリサイズする方法を見てみましょう。サンプルExcelファイルは、こちらからダウンロードできます。これ.

入力ファイル

ここでは、列の幅が適切に定義されておらず、非常に読みづらくなっています。 次に行きましょう

IronXLライブラリを使用して、Excelシートの列幅を自動調整する方法をご覧ください。

C#を使用してExcelでセルを自動調整する方法: 図6 - 入力Excelファイル

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{ 
    // auto fit column width for index i
    workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{ 
    // auto fit column width for index i
    workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private colCount = workSheet.Columns.Count()
For i As Integer = 0 To colCount - 1
	' auto fit column width for index i
	workSheet.AutoSizeColumn(i)
Next i
workBook.SaveAs("autoResize.xlsx") ' result file
VB   C#

コードの説明

  1. 最初に、WorkBook.Load を使用して FinancialSample.xlsx を読み込みます。()** メソッド

  2. 次に、列の幅を調整する必要があるセル範囲を取得します。この場合、列の数を取得します。

  3. 次に、すべてのインデックスを反復処理して列の幅を自動調整します。

  4. 次に、結果を autoResize.xlsx という名前の新しいファイルに保存します。

出力ファイル

以下では、すべての列が自動サイズで表示されています。

C#を使用してExcelでセルの自動調整を行う方法: 図7 - 自動調整された列幅の出力Excel。

ステップ4:IronXLライブラリを使用して行の高さを自動調整します。

AutoSizeRow メソッドは、その内容に合わせて行の高さを調整します。 このメソッドは、セル内で使用されているフォントに基づいてテキストの高さを計算することに注意することが重要です。 システムに該当のフォントが存在しない場合、デフォルトフォントを使用して測定を試みます。 デフォルトのフォントが見つからない場合、利用可能なフォントを使用しようとします。 しかし、フォントが見つからない場合は、例外がスローされます。 それはゼロベースの行インデックスをパラメーターとして使用します。 0 と との範囲内である必要があります(行数 - 1). 指定されたrowIndexが有効な範囲外の場合、ArgumentExceptionがスローされます。 SixLabors.Fonts.FontException は、マシンにフォントがインストールされていない場合にスローされます。

インプット Excel ファイル

以下の例では、いくつかの行がデータに適切に合うようにサイズ調整されていないことがわかります。 次に、Excelの行の高さを自動調整するためのC#コードを見てみましょう。

Excelでオートフィットセルを使用する方法 (C#): 図8 - 入力Excelファイル

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;
for (int i = 0; i < rowCount; i++)
{
    workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;
for (int i = 0; i < rowCount; i++)
{
    workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private rowCount = workSheet.RowCount
For i As Integer = 0 To rowCount - 1
	workSheet.AutoSizeRow(i)
Next i
workBook.SaveAs("autoResizeRows.xlsx") ' result file
VB   C#

コードの説明

  1. 最初に、WorkBook.Load を使用して FinancialSample.xlsx をロードします。()** メソッド

  2. 次に、行の高さを調整する必要があるセル範囲を取得します。この場合、行数を取得します。

  3. 次に、すべてのインデックスを反復処理して行の高さを自動調整します。

  4. 新しいファイル名 autoResizeRows.xlsx として結果を保存します。

Excelファイルの出力

C#を使用してExcelのセルを自動調整する方法:図9 - 自動サイズ調整された列の高さの出力Excel。

ステップ 5: IronXL を使用して列の幅と行の高さを手動で設定する

行と列の自動サイズ調整に加えて、IronXL では、特定の行の高さ値および特定の列の幅値に手動で幅と高さを調整することもできます。

インプット Excel ファイル

Excelでセルを自動調整する方法 C#を使用: 図10 - 入力Excelファイル

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Set width
workBook.SaveAs("specificValue.xlsx")
VB   C#

コードの説明

  1. 最初に、WorkBook.Load を使用して FinancialSample.xlsx をロードします。()関数

  2. 次に、行の高さを調整するためのセル範囲と、列の幅を調整するためのセル範囲を取得します。

  3. 次に、高さと幅の値を設定します。

  4. 次に、結果を特定の名前specificValue.xlsxの新しいファイルに保存します。

Excelファイルの出力

C#を使用してExcelでセルの自動調整を行う方法: 図11 - 手動でサイズ変更された列幅と高さの出力Excel。

ライセンス

IronXL.

取得したライセンスは、appSettings.jsonファイルに配置する必要があります。

{
  "IronXL.License.LicenseKey":"myTrialKey"
}
{
  "IronXL.License.LicenseKey":"myTrialKey"
}
If True Then
  "IronXL.License.LicenseKey":"myTrialKey"
End If
VB   C#

結論

以下の機能を含む AutoSizeColumn および AutoSizeRowIronXL, 開発者は、インポートされたデータ、動的レポート、ユーザー生成コンテンツ、またはデータ分析結果など、含まれているコンテンツに応じてExcelスプレッドシートが動的に調整されるように簡単に保証できます。

IronXL.NET CoreやAzureを含むさまざまな.NETフレームワークとの互換性により、開発者はMicrosoft OfficeやExcel Interopに依存せずに幅広いアプリケーションにExcelの自動化を組み込むことができます。さらに、IronXLは複数の.NET言語とプラットフォームをサポートしているため、多様な環境でExcel操作タスクを簡素化したい開発者にとって汎用性の高い選択肢となっています。

本質的にIronXLは、開発者がExcel自動化プロジェクトにおいて生産性、精度、柔軟性を向上させることを可能にし、現代のC#開発のニーズを満たすための包括的な機能スイートを提供します。 レポートの生成、データの分析、または情報の提示など、IronXLC# エコシステム内で Excel 自動化に優れたツールを提供します。

< 以前
C#でExcelをSQL Serverにインポートする方法
次へ >
PythonでExcelファイルを解析する方法