php导出excel表格

6人阅读 评论(0) 收藏 举报
分类:
public function exportCustomer() {
		$Customer = D('Customer');
		$list = $Customer->getCustomers();
		$filename = "客户";
		$headArr = array('订单ID', '用户ID', '商品ID', '商品名称', '商品型号', '经销商', '品牌', '商品单价', '数量', '收货人', '收货人电话', '省份', '城市', '地区', '详细地址');
		exportExcel($filename, $headArr, $list, 'customer');
	}
/** [exportExcel 导出数据到Excel]
 */
function exportExcel($fileName, $headArr, $data, $sheetname, $format = '') {
	$datetime = date('Y-m-d His');
	$fileName .= " {$datetime}.xls";

	//创建PHPExcel对象,注意,不能少了\
	vendor("PHPExcel.PHPExcel");
	$objPHPExcel = new \PHPExcel();

	//设置活动单指数到第一个表,所以Excel打开这是第一个表
	$objPHPExcel->setActiveSheetIndex(0);
	$objActSheet = $objPHPExcel->getActiveSheet();
	//设置当前活动sheet的名称
	$objActSheet->setTitle($sheetname);

	//设置表头
	$key = ord("A");
	foreach ($headArr as $v) {
		$colum = chr($key);
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $v);
		$key += 1;
	}

	$column = 2;
	foreach ($data as $key => $rows) {
		//行写入
		$span = ord("A");
		foreach ($rows as $keyName => $value) {
			// 列写入
			$j = chr($span);
			$objActSheet->setCellValue($j . $column, $value);
			$span++;
		}
		$column++;
	}

    // 设置格式
    if (! empty($format) && is_array($format)) {
        // 文字居中显示
        if (isset($format['align']) && is_array($format['align'])) {
            $alignArray = array(
                'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
                'vertical'   => PHPExcel_Style_Alignment::VERTICAL_CENTER,
            );

            foreach ($format['align'] as $val) {
                // getStyle($value)->getAlignment()->applyFromArray($alignArray);
                $objActSheet->getStyle($val)->getAlignment()->applyFromArray($alignArray);
            }
            unset($val);
        }
        // 设置列宽
        if (isset($format['length']) && is_array($format['length'])) {
            foreach ($format['length'] as $key => $val) {
                $objActSheet->getColumnDimension($key)->setWidth($val);
            }
            unset($val);
        }
    }



    // getColumnDimension('A')->setWidth(20);
    //$objActSheet->getColumnDimension('A')->setWidth(50);

	$fileName = iconv("utf-8", "gb2312", $fileName);
	header('Content-Type: application/vnd.ms-excel');
	header("Content-Disposition: attachment;filename=\"$fileName\"");
	header('Cache-Control: max-age=0');

	$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
	$objWriter->save('php://output'); //文件通过浏览器下载
	exit;
}


vendor("PHPExcel.PHPExcel");

点击下载


查看评论

JFinal专题之POI-Excel导出解决方案

本专题讲解JFinal导出Excel文件的解决方案,主要使用POI导出,JFinal输出文件流下载到本地
  • 2017年04月18日 11:51

php导出excel报表

php导出excel报表方式网上有很多种,有的方法已经过时,有的看不懂,运行有错误,所以找资料时难免苦恼.在这里给大家分享一个简单易用的方法,致力于让大家一看就会,信心百倍.结合实例,利用PHPExc...
  • Happy1314515
  • Happy1314515
  • 2016-04-03 14:43:19
  • 5940

PHP实现EXCEL的下载导出与导入

  • 2016年12月14日 20:11
  • 2.02MB
  • 下载

php导出excel表格类

  • 2015年07月15日 22:23
  • 4KB
  • 下载

php导出excel2007表格

先郑重声明一下。这个文章是我原创。帮客之家转载我的文章是否能表明文章转载来源呢?这是小弟的上一篇文章,被这个帮客之家大言不惭的复制粘贴了。并且连图片水印都不带修改的,大家不信的可以去看看我的文章类表。...
  • LuoSiSan
  • LuoSiSan
  • 2014-12-13 15:26:52
  • 827

HTML网页设计之PHP下载生成的excel表格

消除文件名为乱码的情况
  • Velly_zheng
  • Velly_zheng
  • 2017-06-14 09:51:48
  • 656

ThinkPHP中是用PHPExcel导出Excel表——封装方法

在使用PHPExcel导出导入文件的时候处理数据的部分是重复的,所以我们可以将其单独在在一个方法发里面,用到时调用即可 在ThinkPHP框架中我们可以将这一部分写在commonAction.clas...
  • zyj_15067066062
  • zyj_15067066062
  • 2016-11-16 15:18:54
  • 588

使用phpoffice/phpexcel导出数据不全或者文件有错误

问题: 使用phpoffice/phpexcel导出数据不全或者文件有错误 原因: 因为mysql使用了utf8mb4的数据存储格式,所以导致有表情的字段会出现这种问题。 解决方案: ...
  • qq_26245325
  • qq_26245325
  • 2018-02-10 11:11:04
  • 66

使用PHPExcel实现Excel文件的导入和导出

在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是: 1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽...
  • sinat_35861727
  • sinat_35861727
  • 2017-04-29 18:42:58
  • 10377

PHP导出excel表格

  • 2014年07月02日 14:07
  • 2.24MB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 5452
    积分: 480
    排名: 10万+
    文章分类