php快速导出excel文件,PHP 最简单的导出Excel文件

PHP 最简单的导出Excel文件

6cd5e4fd49658da7be73f2e8e3760c00.png

2年前

阅读 4985

评论 0

喜欢 0

```php

/*

+----------------------------------------------------------------------

+ Title : 导出EXcel文件

+ Author : 小黄牛

+ Version : 1.0.1.01

+ Initial-Time : 2016-10-9 15:28

+ Last-time : 2016-10-9 15:28 + 小黄牛

+ Desc : 使用这个函数就可以,简单的操作导出EXcel了噢

+----------------------------------------------------------------------

*/

/**

* @param array : $Title 横的标题,是一个一维数组

* @param array : $Type 列的参数,是一个二维数组

* @return : 直接Header下载

*/

function Port_Excel($Title= array(), $Type= array()){

# 参数类型检测

if (!is_array($Title) || !is_array($Type)) {return false;}

# 记录excel的内容

$excel = '';

foreach ($Title as $value) {

$excel .= $value."t";

}

# 中文转码

if(PATH_SEPARATOR == ':'){

//linux

$excel = $excel."n";

}else{

//windows

$excel = iconv('utf-8','gb2312',$excel)."n";

}

# 获得列的参数 - key为列的行数

foreach ($Type as $key => $value) {

$$key = '';

# K为字段名 val为字段值

foreach ($value as $K=>$val) {

# 中文转码

if(PATH_SEPARATOR == ':'){

//linux

$$K = $val."t";

}else{

//windows

$$K = iconv('utf-8','gb2312',$val)."t";

}

$$key .= $$K;

}

$excel .= $$key."n";

# 重置一行

$$key = '';

}

#清空缓存,以免发生乱码

ob_end_clean();

$filename = date('Ymd').'.xls';

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

header("Content-Type: application/vnd.ms-execl");

header("Content-Type: application/force-download");

header("Content-Type: application/download");

header("Content-Disposition: attachment; filename=".$filename);

header("Content-Transfer-Encoding: binary");

header("Pragma: no-cache");

header("Expires: 0");

echo $excel;

}

//使用示例

$title = ['狗带','狗蛋','小黄牛'];

$array = array(

array('title'=> 1,'num'=>11,'age'=>'21'),

array('title'=> 2,'num'=>12,'age'=>'22'),

array('title'=> 3,'num'=>13,'age'=>'23'),

array('title'=> 4,'num'=>14,'age'=>'24'),

array('title'=> 5,'num'=>15,'age'=>'25'),

array('title'=> 6,'num'=>16,'age'=>'26'),

array('title'=> 7,'num'=>17,'age'=>'27'),

array('title'=> 8,'num'=>18,'age'=>'28')

);

Port_Excel($title, $array);

```

© 著作权归作者所有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值