第一种方法:$filename="文件名称";$filetitle="你的标题";if($_POST){set_time_limit(10000);$title = "";ini_set("memory_limit","300M");header("Content-Type: application/vnd.ms-excel;charset=utf-8");$name = $title.".xls";header("Content-Disposition: attachment;filename=".$name."");header("Cache-Control: max-age=0");$where = "1=1";$sql = "";$query = DB::Query($sql);// PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen("php://output", "a");// 输出Excel列头信息 $head = array("ID");//字符替换$p_new_lines = array("
", "
"," ","
","
", "<pre>","</pre>","<br>","</br>","<br/>");$p_change_line_in_excel_cell = "";foreach($head as $v){echo iconv("utf-8","gb2312",$v) . " ";}echo "
";// 计数器 $cnt = 0;// 每隔$limit行,刷新一下输出buffer,节约资源 $limit = 100000;// 逐行取出数据,节约内存while ($res = mysql_fetch_assoc($query)) {$cnt ++;if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题 ob_flush();flush();$cnt = 0;} echo trim($res["id"]). " ";echo "
";}}
第二种方法:$filename="文件名称";$filetitle="你的标题";if($_POST){$title = "";ini_set("memory_limit","300M");header("Content-Type: application/vnd.ms-excel;charset=utf-8");$name = $title.".xls";header("Content-Disposition: attachment;filename=".$name."");header("Cache-Control: max-age=0");echo "<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:x="urn:schemas-microsoft-com:office:excel"xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv="expires" content="Mon, 06 Jan 1999 00:00:01 GMT"><meta http-equiv=Content-Type content="text/html; charset=gb2312"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name></x:Name> <x:WorksheetOptions><x:DisplayGridlines/> </x:WorksheetOptions> </x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head>";$where = "1=1";$sql = " ";mysql_query("set names "utf8"");mysql_set_charset("utf8");$query = DB::Query($sql);// PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen("php://output", "a");// 输出Excel列头信息 $head = array("ID","xxx");//字符替换$p_new_lines = array("
", "
"," ","
","
", "<pre>","</pre>","<br>","</br>","<br/>");$p_change_line_in_excel_cell = "";echo "<table>";echo "<tr>";foreach($head as $v){echo "<td>".iconv("utf-8","gb2312",$v)."</td>";}echo "</tr>";// 逐行取出数据,节约内存while ($res = mysql_fetch_assoc($query)) {echo "<tr>";echo "<td style="vnd.ms-excel.numberformat:@">".$res["id"]."</td>";echo "<td>".iconv("utf-8", "gb2312", $res["xxx"]."</td>";echo"</tr>";}echo "</table>";}
以上这篇php原生导出excel文件的两种方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。