Meine Frage lässt sich sicher allgemein beantworten, ist aber im konkreten Fall für PHP.
Zum Hintergrund: Ich erstelle mit einer Library eine Excel-Datei und möchte im Anschluss die Spaltenbreiten auf das Optimum setzen (ein echtes Autosize gibt es dort nicht). Zunächst ermittle ich dafür mittels
Beispiel:
Wortlänge 10: Wort passt so gerade eben rein, evtl. leicht angeschnitten
Wortlänge: 100: Die Zelle ist etwas größer, aber völlig OK, sieht gut aus
Wortlänge 300: Die Zelle ist viel zu groß
Ich bräuchte nun also eine Art Formel, mit welcher ich dafür sorge, dass die Spaltenbreite bei wenigen Zeichen mind.
Hat jemand einen Ansatz für mich?
EDIT: Im Titel stand, der Faktor soll mind. 1 sein. War Quatsch.
Zum Hintergrund: Ich erstelle mit einer Library eine Excel-Datei und möchte im Anschluss die Spaltenbreiten auf das Optimum setzen (ein echtes Autosize gibt es dort nicht). Zunächst ermittle ich dafür mittels
mb_strwidth
die maximale Wortlänge. Das ist schon recht gut im Ergebnis. Nun ist mir aber aufgefallen, dass je länger ein Wort ist, desto mehr Freiraum habe ich am Ende einer Tabellenzelle.Beispiel:
Wortlänge 10: Wort passt so gerade eben rein, evtl. leicht angeschnitten
Wortlänge: 100: Die Zelle ist etwas größer, aber völlig OK, sieht gut aus
Wortlänge 300: Die Zelle ist viel zu groß
Ich bräuchte nun also eine Art Formel, mit welcher ich dafür sorge, dass die Spaltenbreite bei wenigen Zeichen mind.
mb_strwidth
ist (bzw. eigentlich leicht größer), aber bei mehr Zeichen kleiner wird. Ich habe schon vieles versucht, alles war linear und führt nicht um richtigen Ergebnis. Ein Beispiel, was nicht richtig klappt (weil linear): $width *= 1 + (1 / $width);
.Hat jemand einen Ansatz für mich?
EDIT: Im Titel stand, der Faktor soll mind. 1 sein. War Quatsch.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()