Это довольно простой вопрос, но я не могу найти лучшее простое решение. Я пытаюсь сделать первенствовать, где столы будут рядом друг с другом в таком формате:php increment letter by number
+---+-------+-------+-------+-------+-------+-------+-------+
| | B | C | D | E | F | G | H |
+---+-------+-------+-------+-------+-------+-------+-------+
| 1 | TITLE |
+---+-------------------------------------------------------+
| 2 | IN | OUT | NETTO | TEXT | TEXT | TEXT | TEXT |
+---+-------+-------+-------+-------+-------+-------+-------+
| 3 | value | value | value | value | value | value | value |
+---+-------+-------+-------+-------+-------+-------+-------+
Оказывать титул я начинаю из ячейки B1 в ячейку H1 так что моя первая попытка была такой:
$column = 'B'; // default column number
foreach ($data as $tables) {
$r = 1; // row number
foreach ($tables as $table) {
$this->excel->getActiveSheet()->SetCellValue($column . $r . ':' . $column + 6 . $r, $connector_name);
$r++;
// then row with header r++
// then row with values
$column++;
// other table starting in cell I1
}
}
В каждой таблице я начинаю в строке 1, и мне нужно перемещаться по горизонтали, поэтому мне нужно перемещаться в другие столбцы путем увеличения. Проблема в ячейке с названием, где мне нужны ячейки B1: H1. B1 прост, но тогда я не знаю, как увеличить колонку на 6, чтобы получить письмо H - $column + 6
не работает. Подумайте, как это сделать с помощью простого решения?
'B: H' - фиксирована или они могут измениться? Вы добавляете '6' в каждый цикл. Почему вместо этого добавления не только «H»? –