Извиняюсь, если этот вопрос задавался раньше, потому что это кажется довольно простой концепцией, но мой вариант использования является своего рода конкретным.Я использую это для цикла в PhpSpreadsheet для автоматического изменения размера столбцов, но только для определенных.Это формула:
$oSpreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
Я довольно часто сталкиваюсь с электронными таблицами, где несколько столбцов в диапазоне набора данных необходимо вручную настроить с помощью переноса слов и высоты строки.В этих случаях я не могу включить их в цикл setAutoSize.
Мой вопрос: кто-нибудь знает более эффективный способ перебора, например, AT, но игнорирует MQ? Я хочу избежать жесткого кодирования каждой буквы. Это лучшее, что я придумал:
$asLetter = array_diff(range('A', 'T'), range('M', 'Q'));
foreach ($asLetter as $sLetter) {
$oSpreadsheet->getActiveSheet()->getColumnDimension($sLetter)->setAutoSize(true);
}
Результатом этой итерации будет setAutoSize (true) для этих букв:
A
B
C
D
E
F
G
H
I
J
K
L
R
S
T
Ошибка в моем методе заключается в том, что если столбец переходит в AA или дальше, функция диапазона не может поддерживать прохождение Z. (Но я могу ошибаться?)
Спасибо.