PHP excel – цикл данных?

У меня есть массив массивов данных.

поэтому основной формат

$sheet = array( array( 'a1 data', 'b1 data', 'c1 data', 'd1 data', ), array( 'a2 data', 'b2 data', 'c2 data', 'd2 data', ), array( 'a3 data', 'b3 data', 'c3 data', 'd3 data', ) ); 

Когда я передаю массив, я не знаю, сколько будет столбцов или строк. Я хочу, чтобы использовать php excel для создания листа excel из массива.

из того, что я видел, единственный способ установить данные – использовать $objPHPExcel->getActiveSheet()->setCellValue('A1', $value);

Поэтому мой вопрос:

Как бы вы переместили ячейки?

помня, что можно было сказать 30 столбцов и сказать 70 строк, которые были бы AD70 Итак, как вы это делаете?

Или есть встроенная функция, чтобы превратить массив в лист?

Вы можете установить данные из массива следующим образом:

 $objPHPExcel->getActiveSheet()->fromArray($sheet, null, 'A1'); 

fromArray работает с 2D-массивами. Где 1-й аргумент – это 2D-массив, второй аргумент – это то, что следует использовать, если есть нулевое значение, а последний аргумент – в верхнем левом углу.

В противном случае вам нужно будет пропустить данные:

 $worksheet = $objPHPExcel->getActiveSheet(); foreach($sheet as $row => $columns) { foreach($columns as $column => $data) { $worksheet->setCellValueByColumnAndRow($column, $row + 1, $data); } } 
 $rowID = 1; foreach($sheet as $rowArray) { $columnID = 'A'; foreach($rowArray as $columnValue) { $objPHPExcel->getActiveSheet()->setCellValue($columnID.$rowID, $columnValue); $columnID++; } $rowID++; } 

или

 $objPHPExcel->getActiveSheet()->fromArray($sheet); 

Насколько мне известно, вам не нужно знать высоту и ширину окончательного листа Excel при заполнении листа с использованием PHP excel. Вы можете просто использовать вложенный цикл foreach для чтения всех вложенных массивов и использовать соответствующие переменные для создания ссылок на ячейки и добавления их на рабочий лист. Плагин будет обрабатывать размер.