php实现MySQL数据导出excel表
发布网友
发布时间:2022-04-21 21:17
我来回答
共4个回答
热心网友
时间:2022-04-08 05:41
Header( "Content-type: application/octet-stream ");
Header( "Accept-Ranges: bytes ");
Header( "Content-type:application/vnd.ms-excel ");
Header( "Content-Disposition:attachment;filename=test.xls ");
$con = mysql_connect("localhost","root","123456");
mysql_select_db("db_test");
mysql_query('set names utf8');
$sql = "select id,FirstName,LastName,Age,Hometown,Job from user";
$result = mysql_query($sql,$con);
echo "id\tFirstName\tLastName\tAge\tHometown\tJob";
while ($rs=mysql_fetch_array($result)){
echo "\n";
echo $rs['id']."\t".$rs['FirstName']."\t".$rs['LastName']."\t".$rs['Age']."\t".$rs['Hometown']."\t".$rs['Job'];
}
热心网友
时间:2022-04-08 06:59
$file_type = "vnd.ms-excel"; // excel表头固定写法
$file_ending = "xls"; // excel表的后缀名
header("Content-Type: application/$file_type");
header("Content-Disposition: attachment; filename=list.$file_ending"); // agentfile到处的表名
header("Pragma: no-cache"); // 缓存
header("Expires: 0");
echo mb_convert_encoding("姓名","GBK","utf-8")." \t ".mb_convert_encoding("年龄","GBK","utf-8")." \t ".mb_convert_encoding("时间","GBK","utf-8");
print("\n");
//循环数据~ 换行就print("\n");
exit;
--------------------------
这样就好了。
基本上,定义好mimetype,输出内容。就会自动下载成excel了~不要用下载工具哦。
追问为什么我用header的时候都会报错呢,还有自动下载后那个excel到哪儿去了,怎么定义mimetype
热心网友
时间:2022-04-08 08:33
用PHPexcel 直接导出。 记住数据库的数据编码一般都是UTF8 的 导出之前要转换编码。。。i追问我用phpexcel会报内存用完了的错误,这个怎么和内存扯上关系了?
热心网友
时间:2022-04-08 10:25
也可以不用插件自己写一下
给你说个简简的方法,就是把数据读出来之后 组织成一个html的table保存成xls后缀名的文件