php导出excel csv,PHP文件导出(Excel,CSV,txt)

该博客介绍了一种用于导出CSV文件的方法,包括设置文件名、标题,并处理数据中的特殊字符。它还展示了如何从数据中提取特定字段,如门店名称、地址、总板数、首次登录时间和商品数量,并进行格式转换,以便于CSV导出。
摘要由CSDN通过智能技术生成

$filename = 'csv_'. time();

$title="标题1,标题2,标题N";

$this->export($filename, $title);

$this->csv($csv_res);

================ 下面是调用方法例子 =============================================================/**

* 导出csv文件

* @param 文件名 $filename

* @param 数据 $data

* @param 从数据中取指定字段 $fileds

* @param 字段名 多个用逗号分割 $title

* @param 数据量过大标记 $tooMuch*/

public function export($filename, $title,$tooMuch=0){

$filename= @iconv('UTF-8','GBK',$filename.'.csv');

header("Content-type:application/vnd.ms-excel");

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

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

header('Expires:0');

header('Pragma:public');

echo @iconv('UTF-8', 'GBK//IGNORE', $title)."\r\n";

}/**

* [csv 导出数据]

* @param [type] $data [数据]

* @return [type] [description]*/

privatefunction csv($data)

{

$regex= "/[ '.,:;*?~`!@#$%^&+_=<>{}]|\]|\[|\/|\\|\"|\|/";if (!empty($data)) {foreach ($data as $key =>$value) {

$value['shop_name']=isset($value['shop_name'])?FuncHelper::escapeEmoji($value['shop_name']):'-';

$address=isset($value['address'])?$value['address']:'-';//门店地址

$shop_name=preg_replace($regex,"",$value['shop_name']);

$board_total= isset($value['board_total']) ? $value['board_total']:"0";

$first_login_time= isset($value['first_login_time']) ? date('Y-m-d H:i:s',$value['first_login_time']):"-";

$goods_count= isset($value['goods_count']) ? $value['goods_count']:"0";

$pay_sum= isset($value['pay_sum']) ? $value['pay_sum']:"0";

echo'"'.@mb_convert_encoding($value['id'], 'GBK', 'UTF-8').'",';

echo'"'.@mb_convert_encoding($value['uid'], 'GBK', 'UTF-8').'",';

echo'"'.@mb_convert_encoding($shop_name, 'GBK', 'UTF-8').'",';

echo'"'.@mb_convert_encoding($address, 'GBK', 'UTF-8').'",';

echo'"'.@mb_convert_encoding($board_total, 'GBK', 'UTF-8').'",';

echo'"'.@mb_convert_encoding($first_login_time, 'GBK', 'UTF-8').'",';

echo'"'.@mb_convert_encoding($goods_count, 'GBK', 'UTF-8').'",';

echo'"'.@mb_convert_encoding($pay_sum, 'GBK', 'UTF-8').'",';

echo"\r\n";

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值