我尝试创建一个简单的报告系统,可以输出HTML或导出到Excel。我已经通过Codeigniter视图成功创建了一个HTML表,但我想知道是否有任何方法可以重新使用该视图来创建Excel导出,而不是手动操作,因为我&#39 ;每次我想对报告进行更改时,都必须在两个地方更新它。
任何建议表示赞赏。
感谢。
答案 0 :(得分:17)
这似乎有效:
// Load the table view into a variable
$html = $this->load->view('table_view', $data, true);
// Put the html into a temporary file
$tmpfile = time().'.html';
file_put_contents($tmpfile, $html);
// Read the contents of the file into PHPExcel Reader class
$reader = new PHPExcel_Reader_HTML;
$content = $reader->load($tmpfile);
// Pass to writer and output as needed
$objWriter = PHPExcel_IOFactory::createWriter($content, 'Excel2007');
$objWriter->save('excelfile.xlsx');
// Delete temporary file
unlink($tmpfile);