第一种方法:
$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文件的两种方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持网页设计。