Ответ 1
Для этого существует специальный метод:
$objPHPExcel->getActiveSheet()->mergeCells('A1:C1');
Вы также можете использовать:
$objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:C1');
Это должно сделать трюк.
У меня есть простая таблица вроде:
- id
- first_name
- last_name
- email
- phone
Я использую PHPExcel для экспорта моих данных в формате XLS
$rowNumber = 1;
while ($row = mysql_fetch_row($result)) {
$col = 'A';
foreach($row as $cell) {
$objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$cell);
$col++;
}
$rowNumber++;
}
Теперь я хочу объединить два поля first_name
и last_name
в одну ячейку
Я пробовал:
$rowNumber = 1;
while ($row = mysql_fetch_row($result)) {
$objPHPExcel->getActiveSheet()->setCellValue('A'.$rowNumber,$row['id'])
->setCellValue('B'.$rowNumber,$row['first_name'])
->setCellValue('C'.$rowNumber,$row['last_name']);
$rowNumber++;
}
Но я получаю ошибки и не работаю. Любая помощь?
Для этого существует специальный метод:
$objPHPExcel->getActiveSheet()->mergeCells('A1:C1');
Вы также можете использовать:
$objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:C1');
Это должно сделать трюк.
Попробуйте это
$objPHPExcel->getActiveSheet()->mergeCells('A1:C1');
$this->excel->setActiveSheetIndex(0)->mergeCells("A".($p).":B".($p));
для динамического слияния ячеек
Для динамического слияния мы можем использовать
$objPHPExcel->getActiveSheet()->mergeCells("A".($n).":C".($n));