记一次PHPExcel导出多个sheet数据

<?php

require '../medoo.php';// 数据库连接工具
require '../Library/PHPExcel.php';
$config = include '../config.php';

$db = new medoo($config['db']);

$obj = new PHPExcel();

$title = ['Uid','Username','Province','Netpay'];// 表头

//横向单元格标识 
$cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');

// 获取省份信息,不同省份的数据放在不同的sheet
$provinces = $db->query("SELECT id,name FROM l_areas WHERE parent_id=0")->fetchAll(PDO::FETCH_ASSOC);


for ($i=0; $i < count($provinces); $i++) { 

    if($i > 0){
        $obj->createSheet($i);
    }

    $obj->setactivesheetindex($i);

    $obj->getActiveSheet($i)->setTitle($provinces[$i]['name']);   //设置sheet名称 

    $_row = 1;   //设置纵向单元格标识 

    $j = 0;

    foreach ($title as $v) {   //设置列标题 
        $obj->setActiveSheetIndex($i)->setCellValue($cellName[$j] . $_row, $v);
        $j++;
    }

    $_row++;

    // 获取数据
    $data = $db->query("SELECT * FROM data");

    if(empty($data)){
        $data = [];
    }else{
        $data = $data->fetchAll(PDO::FETCH_ASSOC);
    }

    //填写数据 
    if ($data) {
        $p = 0;
        foreach ($data as $_v) {
            $j = 0;
            foreach ($_v as $_cell) {
                $obj->getActiveSheet($i)->setCellValue($cellName[$j] . ($p + $_row), $_cell);
                $j++;
            }

            $p++;
        }
    }
}

$fileName = 'Province-Sales-Data';
$savePath = './';

$objWrite = PHPExcel_IOFactory::createWriter($obj, 'Excel2007');

$_fileName = iconv("utf-8", "gb2312", $fileName);   //转码 
$_savePath = $savePath . $_fileName . '.xlsx';

$objWrite->save($_savePath);

return $savePath . $fileName . '.xlsx';


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值