htmlTableToExcel
//导出excel public function dataToExcel($filename, $data, $header, $keys) { $html = $this->dataToHtml($data, $header, $keys); return $this->htmlToExcel($filename, $html); } public function dataToHtml($data, $header, $keys) { $str = "<html><head><meta charset=\"utf-8\"></head><body>"; $str .= "<table border=\"1\"><tr>"; foreach ($header as $v) { $str .= "<th>{$v}</th>"; } $str .= "</tr>"; foreach ($data as $row) { $str .= "<tr>"; foreach ($keys as $v) { $str .= "<td>{$row[$v]}</td>"; } $str .= "</tr>"; } $str .= "</table><body></html>"; return $str; } public function htmlToExcel($filename, $html) { header("Content-Type: application/vnd.ms-excel;charset=utf-8; name='excel'"); // header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); // header( "Content-type: application/octet-stream" ); header("Content-Disposition: attachment; filename=" . $filename . '.xls'); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); header("Expires: 0"); exit($html); }