PHPExcel: 可以在我的文件中下载phpexcel放到项目中用!!

1,Excel 导出:

    /**
* Excel导出例子
*/
public function excel($res){
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("XXX");
$objPHPExcel->setActiveSheetIndex();
$objActSheet = $objPHPExcel->getActiveSheet(); $objActSheet->setCellValue('A1', '门店名称');
$objActSheet->setCellValue('B1', '门店UID');
$objActSheet->setCellValue('C1', '交易时间');
$objActSheet->setCellValue('D1', '应收金额');
$objActSheet->setCellValue('E1', '实收金额');
$objActSheet->setCellValue('F1', '支付笔数');
$objActSheet->setCellValue('G1', '取消笔数');
$objActSheet->setCellValue('H1', '应扣手续费');
$objActSheet->setCellValue('I1', '实扣手续费');
$objActSheet->setCellValue('J1', '红包');
$objActSheet->setCellValue('K1', '结算金额'); $i = ;
$data = $res[]; //数据
// $shop_list = $res[1];
$ymd = $res[]; //时间
foreach($data as $k=>$rs){ $objActSheet->setCellValue('A'.$i, !empty($rs['shop_name'])?$rs['shop_name']:''); $objActSheet->setCellValue('B'.$i, $rs['shop_sub_id']);
//交易时间
$objActSheet->setCellValue('C'.$i, $ymd); $objActSheet->setCellValue('D'.$i, !empty($rs['pay_price']) ? $rs['pay_price'] : );
$objActSheet->setCellValue('E'.$i, !empty($rs['jiao']) ? $rs['jiao'] : );
$objActSheet->setCellValue('F'.$i, !empty($rs['count_success']) ? $rs['count_success'] : );
$objActSheet->setCellValue('G'.$i, !empty($rs['count_fail']) ? $rs['count_fail'] : );
$objActSheet->setCellValue('H'.$i, !empty($rs['ought']) ? $rs['ought'] : );
$objActSheet->setCellValue('I'.$i, !empty($rs['reality_poundage']) ? $rs['reality_poundage'] : );
$objActSheet->setCellValue('J'.$i, !empty($rs['rebate']) ? $rs['rebate'] : );
$objActSheet->setCellValue('K'.$i, !empty($rs['jie']) ? $rs['jie'] : ); $i++;
} $fname = 'order_'.time(); ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$fname.'.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
}

2, CSV导出:

   $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=){
$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]
*/
private function 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']:"";
$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']:"";
$pay_sum = isset($value['pay_sum']) ? $value['pay_sum']:""; 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";
}
}
}

另外,如果碰到导出的数字太大的话,表格会默认对数字进行科学计数,像“1.21E + ”这种的,解决方法:只需要在输出的加上 “\t” 即可,例子如下:

echo '"'.@mb_convert_encoding($pay_sum, 'GBK', 'UTF-8'). "\t" . '",';   ## 输出后面加上 \t

3, txt导出

只需要把上面CSV导出的 export方法改一句参数就可以

        $filename = @mb_convert_encoding($filename . '.txt', 'GBK', 'UTF-8'); //.csv的文件名改为.txt
// header("Content-type:application/vnd.ms-excel");
header('Content-Type: application/octet-stream'); //上面的改为这句

PHP 文件导出(Excel, CSV,txt)的更多相关文章

  1. 导出Excel/Pdf/txt/json/XML/PNG/CSV/SQL/MS-Word/ Ms-Powerpoint/等通过tableExport.js插件来实现

    首先去我的云盘下载需要的js: 链接:https://pan.baidu.com/s/13vC-u92ulpx3RbljsuadWw 提取码:mo8m 页面代码: <!DOCTYPE html& ...

  2. PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

    CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 一.CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV ...

  3. goalng导出excel(csv格式)

    最近项目中有个小需求,需要将查询结果导出到excel.之间前java比较容易,使用POI很容易就能实现,查了下golang的文档,发现golang下边并没有导出excel的包,但是却有一个encodi ...

  4. 文件导出Excel、Word、Pdf

    如果要将查询结果导出Excel,只要将页面的Context-Type修改下: header( "Content-Type: application/vnd.ms-excel"> ...

  5. Java关于读取Excel文件~xlsx xls csv txt 格式文件~持续汇总~

    所需的jar百度网盘链接:https://pan.baidu.com/s/146mrCImkZVvi1CJ5KoiEhQ提取码:c329 1 需要导入jar包,缺1不可 dom4j-1.6.1.jar ...

  6. Salesforce随笔: 将Visualforce Page导出为 Excel/CSV/txt (Display a page in Excel)

    想要实现如题所述功能,可以参照 : Visualforce Developer Guide 第57页中所举的例子,在<apex:page>标签中添加contentType属性. <a ...

  7. Asp.net导出Excel/Csv文本格式数据

    刚刚开始做Excel相关的项目,所以遇到的问题不管大小都给记录一下 偶然的机会在添加数据的时候全改成了数字,结果输出的时候全自动变成了科学计数法,这是excel的强大功能,能自动识别数字和字符串,太聪 ...

  8. Oracle数据库文件导出为CSV格式的方法

    1 安装PLSQL Developer,并连接Oracle数据库. 2 执行sql语句,将要导出的表格显示出来. select * from table名; 3 如下点击导出查询结果,选择数据格式,即 ...

  9. 如何处理大体积 XLSX/CSV/TXT 文件?

    在开发过程中,可能会遇到这样的需求,我们需要从本地的 Excel 或 CSV 等文件中解析出信息,这些信息可能是考勤打卡记录,可能是日历信息,也可能是近期账单流水.但是它们共同的特点是数据多且繁杂,人 ...

  10. php 快速导出大量CSV文件

    原文链接 https://segmentfault.com/a/1190000005366832 /** * 导出excel(csv) * @data 导出数据 * @headlist 第一行,列名 ...

随机推荐

  1. 2_Jsp标签_传统标签功能简介

    1传统标签接口关系:                                   2功能简介                                                   ...

  2. Executors几种常用的线程池性能比较

    java编程中,经常会利用Executors的newXXXThreasPool生成各种线程池,今天写了一小段代码,简单测试了下三种常用的线程池: import com.google.common.ut ...

  3. 解析域名得到IP

    本文转载至  http://www.cocoachina.com/bbs/read.php?tid=142713&page=e&#a   分享类型:游戏开发相关 #include &l ...

  4. 设计TCP服务器的规则

    设计TCP服务器,采用如下规则: 1.正等待连接请求的一端有一个固定长度的连接队列,该队列中的连接已被TCP接受(完成三次握手),但还没有被应用层接受.注意:TCP接受一个连接是将其放入这个队列,而应 ...

  5. Java 内存分配全面浅析(转)

    本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个系统的介绍. 进入正题前首先要知道的是Java程 ...

  6. Java基础教程:HashTable与HashMap比较

    Java基础教程:HashTable与HashMap比较 1.  关于HashMap的一些说法: a)  HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体.HashMap的底层结 ...

  7. 4.1 《锋利的jQuery》jQuery中的事件

    $(document).ready()方法和window.onload方法的区别 事件绑定 合成事件 事件冒泡 事件对象的属性 tip1:停止事件冒泡和阻止默认行为都可以用return false替代 ...

  8. Android Weekly Notes Issue #276

    September 24th, 2017 Android Weekly Issue #276 本期内容包括LifeCycle与Architecture的相关文章,以及新的JSON解析库Moshi的介绍 ...

  9. Spring Boot2.0之Admin-UI分布式微服务监控中心

    前面https://www.cnblogs.com/toov5/p/9823353.html  说的很不好用哈哈 还需要json格式化 我们可以用Admin-UI 比较爽歪歪 原理: 将所有服务的监控 ...

  10. CSS3文字阴影实现乳白文字效果

    CSS3文字阴影实现乳白文字效果是一款有效利用css3的text-shadow属性,可以实现很多漂亮的效果,CSS3 文字阴影 文字特效,字体效果. 源码下载:http://www.huiyi8.co ...