多くの試行錯誤の末、マージされたセルをAutoFitの高さにするための回避策をまだ理解できないようです。
このサイトで見つけたVBAコードのビットに基づいたアプローチを試しました:https ://groups.google.com/forum/?fromgroups =#!topic / microsoft.public.excel.programming / pcvg7o5sKhA
次のコードは、テキストを貼り付けて折り返し、セルの幅(A1)を必要な結合されたセルの合計幅に変更します。次に、セルを結合し、列Aを元の幅に戻します。$ noteは、テキストの長い文字列です。$ vAlignTopは、テキストの配置をセルの上部に設定する配列です。
$totalWidth = 67.44; //width of columns A-H
$objPHPExcel->getActiveSheet()->setCellValue('A1', $note);
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth($totalWidth);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('A1:H1')->applyFromArray($vAlignTop);
$objPHPExcel->getActiveSheet()->mergeCells('A1:H1');
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(8.43); //original width of column A
これらの同じ手順をExcelで手動で実行すると、希望する結果が得られますが、上記のコードの出力は常にデフォルトの12.75行の高さです。
誰かアイデアはありますか?列の幅をハードコーディングする必要はありません。テキストに応じて高さを調整したいだけです。
前もって感謝します。