php如何不用三方类库导出MySQL数据到Excel
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要为大家展示了"php如何不用三方类库导出MySQL数据到Excel",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php如何不用三方类库导出My
千家信息网最后更新 2025年01月17日php如何不用三方类库导出MySQL数据到Excel
这篇文章主要为大家展示了"php如何不用三方类库导出MySQL数据到Excel",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"php如何不用三方类库导出MySQL数据到Excel"这篇文章吧。
不用三方类库导出MySQL数据到Excel
如果你经常导出数据,那你可能会遇到用第三方类库导出上限,这是一个很无奈的事情,在超过两万条数据的时候,经常导出失败。很容易到达PHP内存使用上限
// 输出Excel文件头,可把user.csv换成你要的文件名 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="user.csv"'); header('Cache-Control: max-age=0'); // 从数据库中获取数据,为了节省内存,不要把数据一次性读到内存,从句柄中一行一行读即可 $sql = 'select * from tbl where ……'; $stmt = $db->query($sql); // 打开PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen('php://output', 'a'); // 输出Excel列名信息 $head = array('姓名', '性别', '年龄', 'Email', '电话', '……'); foreach ($head as $i => $v) { // CSV的Excel支持GBK编码,一定要转换,否则乱码 $head[$i] = iconv('utf-8', 'gbk', $v); } // 将数据通过fputcsv写到文件句柄 fputcsv($fp, $head); // 计数器 $cnt = 0; // 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小 $limit = 100000; // 逐行取出数据,不浪费内存 while ($row = $stmt->fetch(Zend_Db::FETCH_NUM)) { $cnt ++; if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题 ob_flush(); flush(); $cnt = 0; } foreach ($row as $i => $v) { $row[$i] = iconv('utf-8', 'gbk', $v); } fputcsv($fp, $row); }
这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件。
以上是"php如何不用三方类库导出MySQL数据到Excel"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
数据
文件
输出
三方
不用
内存
内容
句柄
篇文章
一行
上限
方法
浏览器
学习
帮助
浏览
一次性
乱码
事情
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
世界网络安全测试
建立文件夹自动备份到服务器
国家网络安全事件预案
excel调用数据库
孝感功能齐全的计算机软件开发
韶关服务器机柜报价
网络技术实训过程困难解决
用一台电脑做服务器和局域网
单词数据库 下载
如何扩展服务器磁盘空间
apex登录显示连接服务器超时
服务器开机自检处理初始化
网络安全和嵌入式开发哪个好
数据库创建实例是什么意思
木瓜互联网科技股
sql数据库怎么知道密码
网络技术服务中心工作职责
浅谈qq微信网络安全心得体会
修改考勤数据库记录
青浦区手机软件开发培训
服务器安全防护dell
计算机网络技术主要是
数据库中性别的类型
虚拟主机数据库安装
战地五服务器崩溃多久能好
php7数据库
维普数据库期刊导航
网络安全风险有哪些地区
软件开发工程师的工作性质
dns 服务器没有检测到有响应