ここでは、セルが結合されている場合とされていない場合があるExcelシートを読んでいます。現在のシートのセルをループして、マージされたセルに出くわした場合、その範囲と値を見つけることができるはずです。
手順は次のとおりです。-
1。セルA1またはB1またはB7またはA9を読み取ります。
2.他のセルとマージされているかどうかを確認します。
3.セルがマージされている場合は、マージの範囲を取得します(例:A1からA7またはA1からD1)
。4。最後に、範囲を取得した後、値を取得します。
特定のセルオブジェクトに対して、利用可能なヘルパーメソッドがいくつかあります。
$cell->isInMergeRange()
セルがマージ範囲の一部であるかどうかを示すtrue / false値であるブール値を返します
$cell->getMergeRange()
セルが離れているマージ範囲(「A1:C3」など)を返します。マージ範囲の一部でない場合はブール値falseを返します。
$cell->isMergeRangeValueCell()
このセルがマージ範囲(実際のデータ値を保持する)の範囲(左上のセル)のマスターセルであるかどうかを示すブール値のtrue / falseを返します。
さらに、ワークシートオブジェクトにはメソッドがあります
$worksheet->getMergeCells()
ワークシート内のすべてのマージ範囲をリストする配列を返します
最後に、静的メソッドの呼び出し
PHPExcel_Cell::splitRange($mergeRange);
'A1:C3'のような範囲値を渡すと、2つの要素を持つ配列が返されます。1つ目は範囲内の左上のセルのアドレス(実際のデータ値を保持)、2つ目は右下のセルアドレス、範囲の「終わり」です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加