Я создаю XLSX файл из HTML таблицы, как это:PHPExcel и формат с createReader («HTML»)
$tmpfile = tempnam(sys_get_temp_dir(), 'html');
file_put_contents($tmpfile, utf8_decode($tablahtml2paraexcel));
$excelHTMLReader = \PHPExcel_IOFactory::createReader('HTML');
$excelHTMLReader->loadIntoExisting($tmpfile, $phpExcelObjectTemp2);
$objWorkSheetBase = $phpExcelObjectTemp2->getSheet();
$objWorkSheetBase->setTitle('Empresas Mayor Contratacion');
$phpExcelObject->addSheet($objWorkSheetBase);
Но мне нужно, чтобы добавить стиль и форматирование в клетках, созданных на XLSX , как полужирный, центр, вертикальное выравнивание и т.д. Я знаю, как это сделать, когда вы строите весь XLSX (2007) по ячейкам:
$styleBold = array('font' => array('bold' => true));
$phpExcelObject->getActiveSheet()->getStyle('B2')->applyFromArray($styleBold);
, но не знаете, как это сделать из HTML таблицы ,
Я не могу это получить. Я пытаюсь что-то вроде: $ styleArray = array ('font' => array ('bold' => true)); $ tmpfile = tempnam (sys_get_temp_dir(), 'html'); file_put_contents ($ tmpfile, utf8_decode ($ tablahtml1paraexcel)); $ excelHTMLReader = \ PHPExcel_IOFactory :: createReader ('HTML'); $ excelHTMLReader-> loadIntoExisting ($ tmpfile, $ phpExcelObjectTemp1); $ objWorkSheetBase = $ phpExcelObjectTemp1-> getSheet(); $ objWorkSheetBase-> setTitle ('Contratacion Energia tiempo'); $ phpExcelObject-> getActiveSheet() -> getStyle ('B2') -> applyFromArray ($ styleArray); $ phpExcelObject-> addSheet ($ objWorkSheetBase); разъединить ($ tmpfile); – pmirnd
Ну нет причин, почему это не должно работать, хотя вы не показываете, как вы создаете '$ phpExcelObjectTemp1' (почему бы вам просто не использовать' load() 'или вы связываете, чтобы добавить в существующий файл? вы не показываете 'save()', но нет очевидной причины, почему это не должно работать ... что на самом деле происходит? Действительно ли загрузка/сохранение работает правильно, и не удается ли применить стиль? Или это Ошибка при загрузке или сохранении? –
Это код, который я использую: http://ideone.com/i6p59D (это только основной код, а не весь файл php, я использую Symfony2, кстати, но это не имеет значения) – pmirnd