PHPExcel, html в двух листах - PullRequest
       27

PHPExcel, html в двух листах

0 голосов
/ 26 февраля 2020

Я использую PHPExcel, Есть два листа, и в каждый лист нужно вставить таблицу html. Как это возможно?

$tmpfile = tempnam(sys_get_temp_dir(), 'html');
file_put_contents($tmpfile, $table);
$excelHTMLReader = PHPExcel_IOFactory::createReader('HTML');
$excelHTMLReader->loadIntoExisting($tmpfile, $objPHPExcel);
unlink($tmpfile); 

Этот вариант подходит для одного листа, как положить HTML в два листа

ОТВЕТ:

require_once "/PHPExcel.php";
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$asheet = $objPHPExcel->getActiveSheet();

$table = '<table></table>'; //put your table

$tmpfile = tempnam(sys_get_temp_dir(), 'html');
file_put_contents($tmpfile, $table);
$excelHTMLReader = PHPExcel_IOFactory::createReader('HTML');
$excelHTMLReader->loadIntoExisting($tmpfile, $objPHPExcel);
unlink($tmpfile);

// sheet 2
$objPHPExcel2 = new PHPExcel();
$objPHPExcel2->setActiveSheetIndex(0);
$asheet2 = $objPHPExcel2->getActiveSheet();

$table2 = '<table></table>'; //put your another table

$tmpfile2 = tempnam(sys_get_temp_dir(), 'html');
file_put_contents($tmpfile2, $table2);
$excelHTMLReader2 = PHPExcel_IOFactory::createReader('HTML');
$excelHTMLReader2->loadIntoExisting($tmpfile2, $objPHPExcel2);
unlink($tmpfile2);

//$objPHPExcel->addSheet($asheet2, 0);
$objPHPExcel->addExternalSheet($asheet2, 0); //copy sheet2 in first objPHPExcel

header("Content-Type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=simple.xls");

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
...