C#を使用してExcelで結合されたセルを取得する方法


人々がExcelのテーブルを作るとき、いつもいくつかのセルを結合したり結合を解除したりする必要があります。セルをマージ解除したいと、1つずつ検索してキャンセルしなければならないからかなり面倒です。ゆえに、次はExcelで結合されたセルを識別する簡単な方法を紹介します。これを使って結合されたセルを識別した後また結合を解除したり、書式設定などの他の操作を実行することもできます。

より良く理解させるため、こちらはふたつの結語したエリアを含むドキュメントを例として、Spire.XLSというコンポーネントを使用して、詳しく説明します。

コードを使用する

ステップ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で結合されたセルを取得する方法は以上でした、最後まで読んでいただきありがとうございました。