Pracuję z PHPExcel, aby wyeksportować dane do pobrania. Kiedy otwarte pobrane pliki z komórkami mają dużą liczbę, zamiast numeru wartości wyświetlają się "#######". Zostałem wypróbowany setAutoSize()
dla każdej kolumny, a następnie zadzwonić pod numer $sheet->calculateColumnWidths()
, ale wciąż nie zmienia się. Widzę calculColumnWidths() at here, @mark Baker mówi "calculColumnWidths() zwiększyć wartość o 5%, aby spróbować i upewnić się, że cała kolumna pasuje". Jeśli długość numer w komórce przekracza 5%, wydaje się doen na rozwiązało problemuJak ustawić szerokość kolumny PHPExcel auto-kolumny
UPDATE To jest moja funkcja do kolumn auto size:
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();
}
metoda, która autoSize ty stosując do obliczeń? W przybliżeniu lub dokładny? Czy używasz jakiejś konkretnej czcionki? lub pogrubienie/kursywa? Jak daleko jest obliczona ta liczba? Być może dodanie 10% będzie lepsze niż 5%. –
@MarkBaker Zaktualizowałem przykładowy kod do mojego pytania. Użyłem klasy setAutoSize() klasy ColumnDimension. – Davuz