私はPHPExcelで生成されたExcelドキュメントのセルの幅を次のように設定しようとしています:
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
しかし、それは機能しません。
ここで呼び出す必要があるメソッドは何ですか?
それは微妙な違いですが、これは私にとってはうまくいきます:
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
getColumnDimensionByColumn
とgetColumnDimension
の違いに注意してください。
また、私はAutoSizeを設定することすらしていないため、正常に機能します。
setAutoSizeメソッドは、setWidthの前に来る必要があります。
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn('C')->setWidth('10');
こんにちは私は同じ問題を得た.. Excelのセル幅の値に0.71を追加し、その値を
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
例:A列幅= 3.71(Excel値)
列幅= 4.42を与える
同じセル幅の出力ファイルを提供します。
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(4.42);
この助けを願っています
これは、文字列ではなくgetColumnDimensionByColumnが列インデックス(0から始まる整数)を受け取るためです。
setCellValueByColumnAndRowについても同じことが言えます
以下に設定されている列幅のautoSize。わたしにはできる。
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
これは私のために働いた:
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(false);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
rollandが言及したように、必ずsetAuzoSize(false)
、beforesetWidth();
を追加してください
列幅を設定する正しい方法は、Jahmicが投稿した行を使用することですが、さらに、スタイリングを適用する必要があることに注意することが重要ですafter一部の構成では、列幅は適用されません