Как установить значение ячейки / столбца динамически с помощью библиотеки PHPExcel?
Я получаю набор результатов из базы данных MySQL, и я хочу писать данные в формате excel с использованием библиотеки PHPExcel. Пример
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'cell value here');
указывает, что нам нужно жестко закодировать ссылку на ячейку / столбец As 'A1', затем она записывает ячейку / столбец A1. Как я могу увеличивать привязку ячеек / столбцов и / или строк на основе строк и соответствующих значений столбцов из набора результатов?
Пожалуйста, направляйте.
Я предполагаю, что вы уже подключились к своей базе данных.
$sql = "SELECT * FROM my_table"; $result = mysql_query($sql); $row = 1; // 1-based index while($row_data = mysql_fetch_assoc($result)) { $col = 0; foreach($row_data as $key=>$value) { $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $col++; } $row++; }
У меня нет большого опыта работы с php, но с логической точки зрения это то, что я буду делать.
Ниже приведен некоторый псевдокод, иллюстрирующий этот метод:
for (int i = 0; i < MySQLResults.count; i++){ $objPHPExcel->getActiveSheet()->setCellValue('A' . (string)(i + 1), MySQLResults[i].name); // Add 1 to i because Excel Rows start at 1, not 0, so row will always be one off $objPHPExcel->getActiveSheet()->setCellValue('B' . (string)(i + 1), MySQLResults[i].number); $objPHPExcel->getActiveSheet()->setCellValue('C' . (string)(i + 1), MySQLResults[i].email); }