チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
Excel ワークシートでは、生データが単なる数値として表示されることが多く、直感的に理解しづらい場合があります。数値書式を設定することで、これらの数値をより分かりやすい形式に変換できます。たとえば、売上データを通貨形式に設定すると、通貨記号や桁区切り記号が追加され、一目で金額を把握できるようになります。また、市場シェアデータをパーセンテージ形式に設定することで、各部分の割合が明確になり、迅速な比較や分析が可能になります。本記事では、Spire.XLS for .NET を使用して C# で Excel セルの数値書式を設定する方法を解説します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel の数値書式コードでは、数値の表示方法を定義するためにさまざまな記号が使用されます。以下に、一般的な記号の詳細な説明を示します。
記号 | 説明 |
0 | 必須の数字プレースホルダー。必要に応じてゼロで埋められます。 |
# | 任意の数字プレースホルダー。意味のないゼロは表示されません。 |
? | 任意の数字プレースホルダー。小数点の位置を揃えるためにスペースが追加され、小数の末尾にゼロが補われることがあります。 |
. | 小数点を表します。 |
, | 桁区切り記号として使用されます。 |
; | 正、負、ゼロ、およびテキストの各値に対する書式コードのセクションを区切ります。 |
% | 数値を100倍し、パーセント記号を追加します。 |
E - + | 指数表記(科学技術表記)を示します。 |
通貨記号($, €, ¥ など) | 対応する通貨記号を表示します。 |
[Color] | 数値の表示に色を指定します。 |
日付/時刻(yyyy, mmmm, mm, dd, hh, ss, AM/PM) | それぞれ年、月(完全名)、月、日、時、分、秒、および12時間制の指標を表します。 |
Spire.XLS for .NET では、CellRange.NumberValue プロパティを使用してセルの数値を設定し、CellRange.NumberFormat プロパティを使用して数値書式コードを設定できます。詳細な手順は以下のとおりです。
using Spire.Xls;
namespace SetNumberFormat
{
class Program
{
static void Main(string[] args)
{
// Workbook インスタンスを作成
Workbook workbook = new Workbook();
// 最初のワークシートを取得
Worksheet sheet = workbook.Worksheets[0];
// 指定したセルにテキストを追加し、セルのスタイルを設定
sheet.Range["B3"].Text = "値";
sheet.Range["C3"].Text = "数値書式";
sheet.Range["D3"].Text = "表示";
sheet.Range["E3"].Text = "備考";
sheet.Range["B3:E3"].Style.Font.IsBold = true;
sheet.Range["B3:E3"].Style.KnownColor = ExcelColors.SkyBlue;
// ゼロパディングされた数値
sheet.Range["B4"].Text = "123";
sheet.Range["C4"].Text = "0000";
sheet.Range["D4"].NumberValue = 123;
sheet.Range["D4"].NumberFormat = "0000";
sheet.Range["E4"].Text = "ゼロパディングされた数値";
// 千位区切り付き小数点2桁の数値
sheet.Range["B5"].Text = "1234.5678";
sheet.Range["C5"].Text = "#,##0.00";
sheet.Range["D5"].NumberValue = 1234.5678;
sheet.Range["D5"].NumberFormat = "#,##0.00";
sheet.Range["E5"].Text = "千位区切り付き小数点2桁の数値";
// 赤色で表示される負の数
sheet.Range["B6"].Text = "-1234.5678";
sheet.Range["C6"].Text = "0;[Red]-0";
sheet.Range["D6"].NumberValue = -1234.5678;
sheet.Range["D6"].NumberFormat = "0;[Red]-0";
sheet.Range["E6"].Text = "赤色で表示される負の数";
// 小数点1桁のパーセンテージ
sheet.Range["B7"].Text = "0.12345";
sheet.Range["C7"].Text = "0.0%";
sheet.Range["D7"].NumberValue = 0.12345;
sheet.Range["D7"].NumberFormat = "0.0%";
sheet.Range["E7"].Text = "小数点1桁のパーセンテージ";
// テキスト付き数値
sheet.Range["B8"].Text = "1234.5678";
sheet.Range["C8"].Text = "\"数量: \"0";
sheet.Range["D8"].NumberValue = 1234.5678;
sheet.Range["D8"].NumberFormat = "\"数量: \"0";
sheet.Range["E8"].Text = "テキスト付き数値";
// 通貨記号付き数値
sheet.Range["B9"].Text = "1234.5678";
sheet.Range["C9"].Text = "$#,##0.00";
sheet.Range["D9"].NumberValue = 1234.5678;
sheet.Range["D9"].NumberFormat = "$#,##0.00";
sheet.Range["E9"].Text = "通貨記号付き数値";
// 指数表記
sheet.Range["B10"].Text = "1234.5678";
sheet.Range["C10"].Text = "0.00E+00";
sheet.Range["D10"].NumberValue = 1234.5678;
sheet.Range["D10"].NumberFormat = "0.00E+00";
sheet.Range["E10"].Text = "指数表記";
// 分数表記
sheet.Range["B11"].Text = "0.5";
sheet.Range["C11"].Text = "# ?/?";
sheet.Range["D11"].NumberValue = 0.5;
sheet.Range["D11"].NumberFormat = "# ?/?";
sheet.Range["E11"].Text = "分数表記";
// 日付
sheet.Range["B12"].Text = "45930";
sheet.Range["C12"].Text = "yyyy-MM-dd";
sheet.Range["D12"].NumberValue = 45930;
sheet.Range["D12"].NumberFormat = "yyyy-MM-dd";
sheet.Range["E12"].Text = "日付";
// 時刻
sheet.Range["B13"].Text = "0.5";
sheet.Range["C13"].Text = "h:mm:ss AM/PM";
sheet.Range["D13"].NumberValue = 0.5;
sheet.Range["D13"].NumberFormat = "h:mm:ss AM/PM";
sheet.Range["E13"].Text = "時刻";
// 使用範囲のセルスタイルを設定
sheet.AllocatedRange.Style.Font.FontName = "Calibri";
sheet.AllocatedRange.Style.Font.Size = 11;
sheet.AllocatedRange.Style.HorizontalAlignment = HorizontalAlignType.Left;
// 列幅を自動調整
sheet.AutoFitColumn(2);
sheet.AutoFitColumn(3);
sheet.AutoFitColumn(4);
sheet.AutoFitColumn(5);
// 結果ファイルを保存
workbook.SaveToFile("output/Excelセルの数値書式.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
C# で Excel を操作する際、行、列、セルをコピーするのは一見簡単そうに思えますが、元の書式を維持するとなると一筋縄ではいかないことがあります。レポート用のデータ整理やプレゼンテーション作成、またはスプレッドシートを見栄えよく整える場合でも、元の見た目を維持することは重要です。本記事では、Spire.XLS for .NET を使用して、C# で Excel の行、列、セルを元の書式を保持したままコピーする方法を解説します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel で行をコピーする際に書式を維持するには、Worksheet.CopyRow(CellRange sourceRow, Worksheet destSheet, int destRowIndex, CopyRangeOptions copyOptions) メソッドを使用すると効率的です。このメソッドを使用すると、同じワークシート内または異なるワークシート間で行を正確にコピーできます。また、CopyRangeOptions パラメーターを使用して、すべての書式、条件付き書式、データ検証、スタイル、または数式の値のみをコピーするなど、コピー動作を制御することも可能です。
以下は、Spire.XLS を使用して異なるワークシート間で書式付きで行をコピーする手順です。
using Spire.Xls;
namespace CopyRows
{
internal class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成します
Workbook workbook = new Workbook();
// Excelファイルを読み込みます
workbook.LoadFromFile("Sample.xlsx");
// ソースワークシートを取得します
Worksheet sheet1 = workbook.Worksheets[0];
// 新しいワークシートを作成します
Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");
// コピーしたい行を取得します
CellRange row = sheet1.Rows[0];
// ソースワークシートの行を宛先ワークシートの1行目にコピーします
sheet1.CopyRow(row, sheet2, 1, CopyRangeOptions.All);
int columns = sheet1.Columns.Length;
// ソース行内のセルの列幅を宛先行内の対応するセルにコピーします
for (int i = 0; i < columns; i++)
{
double columnWidth = row.Columns[i].ColumnWidth;
sheet2.Rows[0].Columns[i].ColumnWidth = columnWidth;
}
// ワークブックをファイルに保存します
workbook.SaveToFile("output/行のコピー.xlsx");
workbook.Dispose();
}
}
}
同様に、列を書式付きでコピーするには、Worksheet.CopyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, CopyRangeOptions copyOptions) メソッドを使用できます。詳細な手順は以下の通りです。
using Spire.Xls;
namespace CopyColumns
{
internal class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成します
Workbook workbook = new Workbook();
// Excelファイルを読み込みます
workbook.LoadFromFile("Sample.xlsx");
// ソースワークシートを取得します
Worksheet sheet1 = workbook.Worksheets[0];
// 宛先ワークシートを取得します
Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");
// コピーしたい列を取得します
CellRange column = sheet1.Columns[0];
// ソースワークシートの列を宛先ワークシートの1列目にコピーします
sheet1.CopyColumn(column, sheet2, 1, CopyRangeOptions.All);
int rows = column.Rows.Length;
// ソース列内のセルの行高さを宛先列内の対応するセルにコピーします
for (int i = 0; i < rows; i++)
{
double rowHeight = column.Rows[i].RowHeight;
sheet2.Columns[0].Rows[i].RowHeight = rowHeight;
}
// ワークブックをファイルに保存します
workbook.SaveToFile("output/列のコピー.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
行や列のコピーに加え、Spire.XLS for .NETを使用すると、CellRange.Copy(CellRange destRange, CopyRangeOptions copyOptions) メソッドを利用してセル範囲を書式付きでコピーすることも可能です。手順は以下の通りです。
using Spire.Xls;
namespace CopyCells
{
internal class Program
{
static void Main(string[] args)
{
// Workbookオブジェクトを作成します
Workbook workbook = new Workbook();
// Excelファイルを読み込みます
workbook.LoadFromFile("Sample.xlsx");
// ソースワークシートを取得します
Worksheet sheet1 = workbook.Worksheets[0];
// 宛先ワークシートを取得します
Worksheet sheet2 = workbook.Worksheets.Add("Sheet2");
// ソースセル範囲を取得します
CellRange range1 = sheet1.Range["A1:D6"];
// 宛先セル範囲を取得します
CellRange range2 = sheet2.Range["A1:D6"];
// ソースワークシートのセル範囲を宛先ワークシートのセル範囲にコピーします
range1.Copy(range2, CopyRangeOptions.All);
// ソースセル範囲の行高さと列幅を宛先セル範囲にコピーします
for (int i = 0; i < range1.Rows.Length; i++)
{
CellRange row = range1.Rows[i];
for (int j = 0; j < row.Columns.Length; j++)
{
CellRange column = row.Columns[j];
range2.Rows[i].Columns[j].ColumnWidth = column.ColumnWidth;
range2.Rows[i].RowHeight = row.RowHeight;
}
}
// ワークブックをファイルに保存します
workbook.SaveToFile("output/セルのコピー.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
スプレッドシートを作成する際には、行の高さや列の幅を設定することで、レイアウトや外観を調整することができます。Microsoft Excel では、列の幅や行の高さを変更するためのさまざまな方法が提供されています。たとえば、列や行の枠線をドラッグして目的のサイズに調整したり、列幅ボックスや行高さボックスに特定の値を入力したりすることができます。ただし、開発者にとって、プログラミングを通じてこの機能を実現する方法を理解することが重要です。この記事では、Spire.XLS for .NET を使用して Excel で行の高さと列の幅を設定する方法について説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET では、ユーザーが Worksheet.SetRowHeight() メソッドを呼び出すことによって、Excel で行の高さを設定することができます。以下は詳細な手順です。
using Spire.Xls;
namespace SetExcelRow
{
class Program
{
static void Main(string[] args)
{
//Workbookクラスのオブジェクトを作成する
Workbook workbook = new Workbook();
//ディスクからファイルをロードする
workbook.LoadFromFile(@"sample.xlsx");
//ファイルから最初のシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//最初の行の高さを設定する
sheet.SetRowHeight(1, 25);
//結果ファイルを保存する
workbook.SaveToFile("SetRow.xlsx", ExcelVersion.Version2013);
workbook.Dispose();
}
}
}
Imports Spire.Xls
Namespace SetExcelRow
Class Program
Private Shared Sub Main(ByVal args() As String)
'Workbookクラスのオブジェクトを作成する
Dim workbook As Workbook = New Workbook
'ディスクからファイルをロードする
workbook.LoadFromFile("sample.xlsx")
'ファイルから最初のシートを取得する
Dim sheet As Worksheet = workbook.Worksheets(0)
'最初の行の高さを設定する
sheet.SetRowHeight(1, 25)
'結果ファイルを保存する
workbook.SaveToFile("SetRow.xlsx", ExcelVersion.Version2013)
workbook.Dispose
End Sub
End Class
End Namespace
さらに、Spire.XLS for .NET では、ユーザーが Worksheet.SetColumnWidth() メソッドを呼び出すことによって、 Excel の列幅を設定することもできます。以下は詳細な手順です。
using Spire.Xls;
namespace SetExcelColumn
{
class Program
{
static void Main(string[] args)
{
//Workbookクラスのオブジェクトを作成する
Workbook workbook = new Workbook();
//ディスクからファイルをロードする
workbook.LoadFromFile(@"sample.xlsx");
//ファイルから最初のシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//4 番目の列の幅を設定する
sheet.SetColumnWidth(4, 15);
//結果ファイルを保存する
workbook.SaveToFile("SetColumn.xlsx", ExcelVersion.Version2013);
workbook.Dispose();
}
}
}
Imports Spire.Xls
Namespace SetExcelColumn
Class Program
Private Shared Sub Main(ByVal args() As String)
'Workbookクラスのオブジェクトを作成する
Dim workbook As Workbook = New Workbook
'ディスクからファイルをロードする
workbook.LoadFromFile("sample.xlsx")
'ファイルから最初のシートを取得する
Dim sheet As Worksheet = workbook.Worksheets(0)
'4 番目の列の幅を設定する
sheet.SetColumnWidth(4, 15)
'結果ファイルを保存する
workbook.SaveToFile("SetColumn.xlsx", ExcelVersion.Version2013)
workbook.Dispose
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ドロップダウンリストはデータ検証機能です。この機能は、指定されたセルに入力されたデータを制限し、事前定義された値セットから値を選択する必要があります。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel でドロップダウンリストを作成する方法を紹介します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Spire.XLS for .NET を使用すると、値をセル範囲に追加し、指定したデータ範囲をデータ検証ソースとして参照して、ドロップダウンリストを作成できます。この方法は少し時間がかかりますが、結果文書のセルの値を直接変更することで、ドロップダウンリストの項目を簡単に更新できます。以下は具体的な操作手順です。
using Spire.Xls;
namespace DropdownList
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//サンプルドキュメントをロードする
workbook.LoadFromFile(@"E:\Files\input.xlsx");
//最初のシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//指定したセルに値を追加する
sheet.Range["A10"].Value = "テニス";
sheet.Range["A11"].Value = "バスケットボール";
sheet.Range["A12"].Value = "サッカー";
//指定したデータ範囲をデータ検証ソースとして参照することにより、ドロップダウンリストを作成する
sheet.Range["C2:C7"].DataValidation.DataRange = sheet.Range["A10:A12"];
//結果文書を保存する
workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010);
}
}
}
Imports Spire.Xls
Namespace DropdownList
Class Program
Private Shared Sub Main(ByVal args As String())
'Workbookオブジェクトを作成する
Dim workbook As Workbook = New Workbook()
'サンプルドキュメントをロードする
workbook.LoadFromFile("E:\Files\input.xlsx")
'最初のシートを取得する
Dim sheet As Worksheet = workbook.Worksheets(0)
'指定したセルに値を追加する
sheet.Range("A10").Value = "テニス"
sheet.Range("A11").Value = "バスケットボール"
sheet.Range("A12").Value = "サッカー"
'指定したデータ範囲をデータ検証ソースとして参照することにより、ドロップダウンリストを作成する sheet.Range("C2:C7").DataValidation.DataRange = sheet.Range("A10:A12")
'結果文書を保存する
workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010)
End Sub
End Class
End Namespace
Excel では値リストを手動で入力することでドロップダウンリストを作成できます。この方法では、Excel セルにデータを追加しないようにして、Excel ドキュメントの整然とした順序を保つことができます。以下は具体的な操作手順です。
using Spire.Xls;
namespace DropdownList2
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//最初のシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//セルB 2にテキストを追加し、フォントスタイルを設定する
sheet.Range["B2"].Value = "興味";
sheet.Range["B2"].Style.Font.IsBold = true;
sheet.Range["B2"].Style.KnownColor = ExcelColors.LightTurquoise;
//ドロップダウンリストの値を設定する
sheet.Range["C2"].DataValidation.Values = new string[] { "テニス", "バスケットボール", "サッカー" };
//指定したセルにドロップダウンリストを作成する
sheet.Range["C2"].DataValidation.IsSuppressDropDownArrow = false;
//結果文書を保存する
workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010);
}
}
}
Imports Spire.Xls
Namespace DropdownList2
Class Program
Private Shared Sub Main(ByVal args As String())
'Workbookオブジェクトを作成する
Dim workbook As Workbook = New Workbook()
'最初のシートを取得する
Dim sheet As Worksheet = workbook.Worksheets(0)
'セルB 2にテキストを追加し、フォントスタイルを設定する
sheet.Range("B2").Value = "興味"
sheet.Range("B2").Style.Font.IsBold = True
sheet.Range("B2").Style.KnownColor = ExcelColors.LightTurquoise
'ドロップダウンリストの値を設定する
sheet.Range("C2").DataValidation.Values = New String() { "テニス", "バスケットボール", "サッカー" }
'指定したセルにドロップダウンリストを作成する
sheet.Range("C2").DataValidation.IsSuppressDropDownArrow = False
'結果文書を保存する
workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2010)
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ドキュメントのセルは、デフォルトで背景色が透明になっています。特定のセルのデータを強調表示したい場合は、Microsoft Excel で提供されている「塗りつぶし色」という書式オプションで、セルの背景色やパターンを変更することができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET で Excel 内の特定のセルまたはセル範囲の背景色とパターンを設定する方法を紹介します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
以下は、Excel セルの背景色とパターンを設定する手順です。
using System.Drawing;
using Spire.Xls;
namespace CellBackground
{
class Program
{
static void Main(string[] args)
{
//Workbookクラスのインスタンスを作成する
Workbook workbook = new Workbook();
//Excelサンプルファイルをロードする
workbook.LoadFromFile(@"Sample.xlsx");
//最初のワークシートを取得する
Worksheet worksheet = workbook.Worksheets[0];
// ["A1:E1"]と["A2:A10"]の背景色を設定する
worksheet.Range["A1:E1"].Style.Color = Color.MediumSeaGreen;
worksheet.Range["A2:A10"].Style.Color = Color.LightYellow;
//E 6の背景色を設定する
worksheet.Range["E6"].Style.Color = Color.Red;
//["B4:D5"]のパターンのスタイルを設定する
worksheet.Range["B4:D5"].Style.FillPattern = ExcelPatternType.Percent125Gray;
//結果ファイルを保存する
workbook.SaveToFile("CellBackground.xlsx", ExcelVersion.Version2013);
}
}
}
Imports System.Drawing
Imports Spire.Xls
Namespace CellBackground
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'Workbookクラスのインスタンスを作成する
Dim workbook As Workbook = New Workbook()
'Excelサンプルファイルをロードする
workbook.LoadFromFile("Sample.xlsx")
'最初のワークシートを取得する
Dim worksheet As Worksheet = workbook.Worksheets(0)
'["A1:E1"]と["A2:A10"]の背景色を設定する
worksheet.Range("A1:E1").Style.Color = Color.MediumSeaGreen
worksheet.Range("A2:A10").Style.Color = Color.LightYellow
'E 6の背景色を設定する
worksheet.Range("E6").Style.Color = Color.Red
'["B4:D5"]のパターンのスタイルを設定する
worksheet.Range("B4:D5").Style.FillPattern = ExcelPatternType.Percent125Gray
'結果ファイルを保存する
workbook.SaveToFile("CellBackground.xlsx", ExcelVersion.Version2013)
End Sub
End Class
End Namespace
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
人々が Excel のテーブルを作るとき、いつもいくつかのセルを結合したり結合を解除したりする必要があります。セルをマージ解除したいと、1つずつ検索してキャンセルしなければならないからかなり面倒です。ゆえに、次は Excel で結合されたセルを識別する簡単な方法を紹介します。これを使って結合されたセルを識別した後また結合を解除したり、書式設定などの他の操作を実行することもできます。
より良く理解させるため、こちらはふたつの結語したエリアを含むドキュメントを例として、Spire.XLS for .NET というコンポーネントを使用して、詳しく説明します。
ステップ 1、Workbook オブジェクトをインスタンス化し、Excel ドキュメントを読み込みます。
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
ステップ 2、Excel ドキュメントの最初のシートを取得します。
Worksheet sheet = workbook.Worksheets[0];
ステップ 3、マージされた領域を取得し、結果を CellRange 配列に保存します。
CellRange[] range = sheet.MergedCells;
ステップ 4、配列をトラバースして、マージされた領域のセルをマージ解除します。
foreach (CellRange cell in range)
{
cell.UnMerge();
}
ステップ 5、ドキュメントを保存します。
workbook.SaveToFile("result.xlsx");
操作した画像は以下のように:
完全なるコード一覧:
using Spire.Xls;
namespace Detect_Merged_Cells
{
class Program
{
static void Main(string[] args)
{
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
Worksheet sheet = workbook.Worksheets[0];
CellRange[] range = sheet.MergedCells;
foreach (CellRange cell in range)
{
cell.UnMerge();
}
workbook.SaveToFile("result.xlsx");
}
}
}
今回の Excel で結合されたセルを取得する方法は以上でした、最後まで読んでいただきありがとうございました。
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30日間有効な一時ライセンスを取得してください。