C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ClosedXMLでのセル結合されている列数の取得

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■88495 / inTopicNo.1)  ClosedXMLでのセル結合されている列数の取得
  
□投稿者/ 河童 (29回)-(2018/09/04(Tue) 07:32:29)

分類:[C#] 

いつも大変お世話になっております。


ClosedXMLでセル結合されている列数を取得する方法について
教えて下さい。

セルごとにセルが結合されているかは
IsMergedで判定できます。
セルが結合されているとき
その列数を取得するにはどのようにすればよいでしょうか?
よろしくお願いします。

環境:VS2010 

            //エクセルオープン
            ClosedXML.Excel.XLWorkbook workbook = null;
  
            //取り込みシート確認&セット
            IXLWorksheet worksheet;

            // セルが結合されている場合は、その列数を取得
            for (int X = start_column; X < 300 ; X++)
            {
                // 1行目でセルが結合されているか                   
                if (workbook.Cell(1, X).IsMerged())
                {
                    
                }

            }

引用返信 編集キー/
■88498 / inTopicNo.2)  Re[1]: ClosedXMLでのセル結合されている列数の取得
□投稿者/ Hongliang (687回)-(2018/09/04(Tue) 09:20:58)
IXLWorksheet::MergedRangesの中から、IXLRange::Contains(IXLCell)がtrueを返すIXLRangeを取り出して、そのIXLRange::RangeAddressの、FirstAddress/LastAddressのColumnNumberから算出する。
という手順になるかと。
// MergedRangesからの取り出しかたは前に書いた記憶があるな。
引用返信 編集キー/
■88503 / inTopicNo.3)  Re[2]: ClosedXMLでのセル結合されている列数の取得
□投稿者/ 河童 (32回)-(2018/09/04(Tue) 12:45:10)
No88498 (Hongliang さん) に返信

Hongliangさん、お返事ありがとうございます。

RangeAddressやFirstAddress/LastAddressについて
調べてみます。

> // MergedRangesからの取り出しかたは前に書いた記憶があるな。
以前同じような質問をしていたのですが、
違う判定方法にしたので、セル結合している列数の取得は
断念していました。
今回、また必要になってしまいました。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ