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 相关文章推荐
基于Linux调试工具strace与gdb的常用命令总结
Jun 03 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
php实现memcache缓存示例讲解
Dec 04 PHP
30个php操作redis常用方法代码例子
Jul 05 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 PHP
php析构函数的简单使用说明
Aug 24 PHP
php验证码生成代码
Nov 11 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
Feb 15 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
全文搜索和替换
2006/10/09 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
简单实例处理url特殊符号&处理(2种方法)
2013/04/02 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
跟老齐学Python之有点简约的元组
2014/09/24 Python
Python实时获取cmd的输出
2015/12/13 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
Python爬虫模拟登录带验证码网站
2016/01/22 Python
Python中的取模运算方法
2018/11/10 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
解决python对齐错误的方法
2020/07/16 Python
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
如何理解委托
2012/01/06 面试题
建筑工程专业学生的自我评价
2013/12/25 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
Go语言grpc和protobuf
2022/04/13 Golang