php原生导出excel文件的两种方法(推荐)


Posted in PHP onNovember 19, 2016

第一种方法:

$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("\r\n", "\n","\t","\r","\r\n", "<pre>","</pre>","<br>","</br>","<br/>");
    $p_change_line_in_excel_cell = '';

    foreach($head as $v){
      echo iconv('utf-8','gb2312',$v) . "\t";
    }
    echo "\n";
    // 计数器 
    $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']). "\t";
      echo "\n";
    }

  }

第二种方法:

$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("\r\n", "\n","\t","\r","\r\n", "<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文件的两种方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
优化PHP代码的53条建议
Mar 27 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
PHP Session机制简介及用法
Aug 19 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
php生成高清缩略图实例详解
Dec 07 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 PHP
PHP利用百度ai实现文本和图片审核
May 08 PHP
php socket通信简单实现
Nov 18 #PHP
php微信开发之自定义菜单实现
Nov 18 #PHP
php微信开发之百度天气预报
Nov 18 #PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 #PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 #PHP
PHP批量获取网页中所有固定种子链接的方法
Nov 18 #PHP
PHP实现二维数组按某列进行排序的方法
Nov 18 #PHP
You might like
超级简单的发送邮件程序
2006/10/09 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
python-numpy-指数分布实例详解
2019/12/07 Python
python绘制彩虹图
2019/12/16 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
python中添加模块导入路径的方法
2021/02/03 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
Java基础知识面试要点
2016/07/29 面试题
编码实现字符串转整型的函数
2012/06/02 面试题
农民致富事迹材料
2014/01/23 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
关于html选择框创建占位符的问题
2021/06/09 HTML / CSS
浅谈Python数学建模之整数规划
2021/06/23 Python
Java设计模式之享元模式示例详解
2022/03/03 Java/Android
mybatis 获取更新记录的id
2022/05/20 Java/Android
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers