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. OpenCV 入门示例之五:一个复杂点的变换

    前言 前文介绍了一个简单的变换.需要注意的是,很多时候,输出和输入图像的格式是不同的( 大小,深度,通道 ).在本文将展示的程序中,对图像进行了缩放( 使用cvPyrDown 函数 ),这种情况下需要 ...

  2. swift基础教程笔记

    http://www.imooc.com/learn/127 <玩儿转swift> 慕课网教程笔记,自己根据2.1的语法做了更新. I. 1.通过playground来学习.熟悉swift ...

  3. Linux将进程写入开机自启动

    只需将启动的命令写入/etc/rc.local 如让mongodb开机自启动: echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local ...

  4. C#抓取网面上的html内容(JS动态生成的无法抓取)

    抓取内容的代码: /// </summary> /// <param name="url">路径URL</param> /// <para ...

  5. POJ 3895 Cycles of Lanes (dfs)

    Description Each of the M lanes of the Park of Polytechnic University of Bucharest connects two of t ...

  6. 14、AppWidget及Launcher RemoteViews

    一.Launcher的简单研究 1 什么是Launcher Android系统启动后加载的第一个程序 . 这个程序是其他应用程序的入口 . Launcher构成: HomeScreen : (Work ...

  7. cookie和session的原理机制

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  8. POJ 3714 Raid 近期对点题解

    版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/.未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...

  9. Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class

    查阅了资料原始JDK的问题.解决方法 1.重新安装JDK为1.7版本 2.修改配置 1.webx的依赖改为3.1.6版: <dependency> <groupId>com.a ...

  10. 用ant编译打包时 警告:编码 GBK 的不可映射字符

    原因,参考http://zhidao.baidu.com/question/26901568.html 添加如下的红色一行后编译通过<target name="compile" ...