php使用PHPExcel 导出数据表到Excel文件

复制代码
直接上干货:

<?php

$cards_list = Cards::find($parameters);

$objPHPExcel = new \PHPExcel();
$objPHPExcel->getProperties()->setCreator("jiequan")
    ->setLastModifiedBy("jiequan")
    ->setTitle("card List")
    ->setSubject("card List")
    ->setDescription("card List")
    ->setKeywords("excel")
    ->setCategory("result file");

$exportKeys = ["number","password","gtime"];

/*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/
$cell = ["A","B","C","D"];
$fieldsKeyValue = array(
    "number" => "卡号",
    "password" => "密码",
    "gtime" => "领取时间",
);

foreach ($exportKeys as $k => $field) {
    $objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue($cell[$k] . '1', $fieldsKeyValue[$field]);
}

foreach ($cards_list as $k => $card) {
    $num = $k + 1;
    foreach ($exportKeys as $i => $exportKey) {
        if($exportKey == "number" || $exportKey == "password") {
            $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue($cell[$i] . ($num + 1), $card->$exportKey,\PHPExcel_Cell_DataType::TYPE_STRING);
        } else {
            $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue($cell[$i] . ($num + 1), $card->$exportKey);
        }
    }

    $objPHPExcel->getActiveSheet()->getColumnDimension( 'A')->setWidth(20);
    $objPHPExcel->getActiveSheet()->getColumnDimension( 'B')->setWidth(20);
    $objPHPExcel->getActiveSheet()->getColumnDimension( 'C')->setWidth(20);
}

$objPHPExcel->getActiveSheet()->setTitle('card_List');
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$name = 'cardList' . "ex" . date("YmdHis",time()) . rand(1000,9999);

header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="'.$name.'.xls"');

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
相关推荐
木子金光军14 小时前
BeikeShop - 一个开源、用户友好的跨境电子商务平台
开源·php·laravel
喵叔哟15 小时前
第11章:Neo4j实际应用案例
服务器·php·neo4j
万岳科技程序员小金16 小时前
2025餐饮供应链趋势:一套系统源码如何打通食堂采购全流程?
开源·php·源码·食堂采购系统源码·供应链管理平台
杰_happy18 小时前
PHP Swoft2 框架精华系列:Annotation 注解机制详解
php·swoft
kali-Myon18 小时前
攻防世界[level7]-Web_php_wrong_nginx_config
前端·nginx·安全·php·web·ctf·攻防世界
Q_Q51100828519 小时前
python题库及试卷管理系统
开发语言·spring boot·python·django·flask·node.js·php
(:满天星:)19 小时前
使用 Kubernetes 部署 PHP 留言板应用(含 Redis 架构)
redis·kubernetes·php
神仙别闹2 天前
基于 Matlab 和 Truetime 的网络控制系统仿真
网络·matlab·php
Joomla中文网2 天前
在2023年ChatGPT如何谈joomla和wordpress
php·joomla
机灵小和尚3 天前
腾讯云 Teo H5直传CDN空间
后端·云计算·php·腾讯云·html5