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 相关文章推荐
php 魔术函数使用说明
Feb 21 PHP
PHP提取数据库内容中的图片地址并循环输出
Mar 21 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
基于PHP一些十分严重的缺陷详解
Jun 03 PHP
php支付宝手机网页支付类实例
Mar 04 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
Dec 14 PHP
Smarty模板常见的简单应用分析
Nov 15 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 PHP
PHP7创建销毁session的实例方法
Feb 03 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进程同步代码实例
2015/02/12 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
js 字符串转换成数字的三种方法
2013/03/23 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python实现文本文件合并
2015/12/29 Python
Python 功能和特点(新手必学)
2015/12/30 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
python正则中最短匹配实现代码
2018/01/16 Python
Python numpy 点数组去重的实例
2018/04/18 Python
django 发送手机验证码的示例代码
2018/04/25 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
Python实现打印实心和空心菱形
2019/11/23 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
商务邀请函范文
2014/01/14 职场文书
2015年英语教师工作总结
2015/05/20 职场文书
vue实现同时设置多个倒计时
2021/05/20 Vue.js
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android