修改代码以将HTML表格导出到Excel

我在我的应用程序中使用PHPExcel 1.8 。 我想要做的是下载我的文件generated.html这是内容。

 <!DOCTYPE html> <html> <head> <title>PHPExcel</title> <style> table, td, th { border: 1px solid black; } </style> </head> <body> <table style="width:100%"> <tr> <td bgcolor="#FF0000">Jill</td> <td>Smith</td> <td>50</td> </tr> <tr> <td>Jack</td> <td>Paper</td> <td>123</td> </tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td> </tr> <tr> <td bgcolor="#FF0000">John</td> <td>Doe</td> <td>80</td> </tr> </table> </body> </html> 

现在,我有dl.php来执行下载,但example.xls没有应用到它的样式和颜色。

 <?php require_once 'PHPExcel-1.8/Classes/PHPExcel.php'; $objReader = new PHPExcel_Reader_HTML(); $objPHPExcel = @$objReader->load($file_path.'generated.html'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="example.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); 

我应该做些什么修改?

我认为,PHPexcel不支持CSS和样式。 这里是一个直接执行代码的例子。

这是我的excel.php文件,下载此文件中生成的表。

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> <title>TESTING</title> </head> <style type="text/css"> body { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0px; padding:0px; } </style> <html> <body> <?php $table = '<table border="0" cellpadding="0" cellspacing="0"><tr><td>'; $table .= '<tr><td rowspan="2" style="background-color:#000099;color:#FFFFFF;">test</td>'; $table .= '<td colspan="2" style="background-color:#FFFF33">TEst</td>'; $table .= '<td colspan="2" style="background-color:#FFFF33">teST</td>'; $table .= '<td rowspan="2" style="background-color:#000099;">Test<br>test</td>'; $table .= '</tr><tr><td style="background-color:#FFFCCC">Test</td>'; $table .= '<td style="background-color:#FFFCCC">test</td>'; $table .= '<td style="background-color:#FFFCCC">test</td>'; $table .= '<td style="background-color:#FFFCCC">test</td>'; $table .= '</tr><tr></td></tr></table>'; header("Content-type: application/x-msdownload"); header('Content-Disposition: attachment; filename="filename.xls"'); header("Pragma: no-cache"); header("Expires: 0"); echo $table; ?> </body> </html>