PHPExcelを使用して、ダウンロード用のデータをエクスポートしています。ダウンロードしたファイルを開くと、セルの数が多い場合、値の数ではなく「#######」と表示されます。私はsetAutoSize()
すべての列に対して試してから呼び出します$sheet->calculateColumnWidths()
が、それでも変更されません。ここにcalculateColumnWidths()がありますが、@ Mark Bakerは、「calculateColumnWidths()は、値をおそらく5%増やして、列全体が収まるようにします」と述べています。セルの数の長さが5%を超える場合、問題は解決したようです。
更新 これは、列のサイズを自動化するための私の関数です。
function autoFitColumnWidthToContent($sheet, $fromCol, $toCol) {
if (empty($toCol) ) {//not defined the last column, set it the max one
$toCol = $sheet->getColumnDimension($sheet->getHighestColumn())->getColumnIndex();
}
for($i = $fromCol; $i <= $toCol; $i++) {
$sheet->getColumnDimension($i)->setAutoSize(true);
}
$sheet->calculateColumnWidths();
}