2016-10-05 4 views
0

. , , , Я использую Codeigniter 3.1 и PHPExcel 1.8.PHPExcel разрыв строки не работает

У меня есть функция, которая создает объект PHPExcel и возвращает его, а другая функция выводит Excel в браузере

Все работает прекрасно. Теперь по конкретным строкам мне нужно добавить разрывы страниц.

if($count == 4 || ($count > 4 && (($count - 4) % 6 == 0))){ 
    //echo("A - $row <br>Count - $count<br><hr>"); 
    $sheet->setBreak('A' . $row , PHPExcel_Worksheet::BREAK_ROW); 
} 

Эхо дает мне необходимые строки, поэтому условие работает нормально. Единственные проблемы. , , , , разрыв страницы не работает. Итак, любые предложения?

Ниже приводится код, используемый для создания файла

header("Content-Type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=$file_name"); 
header("Cache-Control: max-age=0"); 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5"); 

$objWriter->save("php://output"); 
+0

Pagebreak подходит только для Excel2007 или Excel5 Writers; какой Writer вы используете? –

+0

Я использую Excel5 –

+0

И вы напечатали его через MS Excel, и он игнорирует разрывы строк? –

ответ

1

Проблема решена. Первоначально я использовал функцию setbreak при вставке строк. и всякий раз, когда выполняется условие, вызовите функцию. Я проходил через код, получал идею, реализовал ее и решил. Вместо того, чтобы вызывать функцию setbreak во время генерации строки, я сохранил ссылку на строку в массиве, а затем выполнив все настройки страницы, в конце зациклил массив и назвал setbreak в строках, и он работал :). Спасибо, Марк, поскольку обсуждение с вами помогло мне дважды сейчас :)

+0

Не уверен, как я помог, но рад, что вы нашли способ заставить его работать на вас –

Смежные вопросы