php 自定义函数实现将数据 以excel 表格形式导出示例


Posted in PHP onNovember 13, 2019

本文实例讲述了php 自定义函数实现将数据 以excel 表格形式导出。分享给大家供大家参考,具体如下:

/**
* 导出数据为excel表格
* @param
* array $data  一个二维数组,结构如同从数据库查出来的数组
* array $title  excel的第一行标题,一个数组,如果为空则没有标题
* String $filename 下载的文件名
*/
function exportexcel($data=array(),$title=array(),$filename='report'){
    header("Content-type:application/octet-stream");
    header("Accept-Ranges:bytes");
    header("Content-type:application/vnd.ms-excel");
    header("Content-Disposition:attachment;filename=".$filename.".xls");
    header("Pragma: no-cache");
    header("Expires: 0");
    //导出xls 开始
    if (!empty($title)){
      foreach ($title as $k => $v) {
        $title[$k]=iconv("UTF-8", "GB2312",$v);
      }
      $title= implode("\t", $title);
      echo "$title\n";
    }
    if (!empty($data)){
      foreach($data as $key=>$val){
        foreach ($val as $ck => $cv) {
          $data[$key][$ck]=mb_convert_encoding($cv,"GB2312","UTF-8");
        }
        $data[$key]=implode("\t", $data[$key]);
      }
      echo implode("\n",$data);
    }
}

php内置函数讲解

String mb_convert_encoding( $str, $encoding1,$encoding2 )

$str,要转换编码的字符串
$encoding1,目标编码,如utf-8,gbk,大小写均可
$encoding2,原编码,如utf-8,gbk,大小写均可

demo

$title = array("title1","title2","title3");
$data = array("数据1","数据2","数据3");
$fileName = "demo";
exportexcel($data,$title,$fileName);

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
Jun 08 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
php使用curl存储cookie的示例
Mar 31 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
PHP中两个float(浮点数)比较实例分析
Sep 27 PHP
php根据用户语言跳转相应网页
Nov 04 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
php实现微信支付之企业付款
May 30 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
Mar 02 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 #PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 #PHP
Yii框架自定义数据库操作组件示例
Nov 11 #PHP
php接口隔离原则实例分析
Nov 11 #PHP
Yii框架布局文件的动态切换操作示例
Nov 11 #PHP
Yii框架模拟组件调用注入示例
Nov 11 #PHP
在Laravel中使用MongoDB的方法示例
Nov 11 #PHP
You might like
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
php实现通过cookie换肤的方法
2015/07/13 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
用jscript启动sqlserver
2007/06/21 Javascript
JQuery UI皮肤定制
2009/07/27 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
利用python获取当前日期前后N天或N月日期的方法示例
2017/07/30 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
Python箱型图处理离群点的例子
2019/12/09 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
2015年实习单位评语
2015/03/25 职场文书