TP5.0 Excel导出

版权声明:本文为原创文章,未经允许不得转载。

这是tp5.0 的excel导出;
前提是已经安装phpexcel扩展;

function exportExcel($expTitle,$expCellName,$expTableData)
{
    $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);
    //文件名称
    $fileName = $expTitle;//.date('_YmdHis')
    //or $xlsTitle 文件名称可根据自己情况设定
    $cellNum = count($expCellName);
    $dataNum = count($expTableData);
    vendor("phpexcel.Classes.PHPExcel");
    $objPHPExcel = new PHPExcel();
    $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');
    // 设置水平垂直居中
    $objPHPExcel->getActiveSheet()->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
    //设置excel表格 从 A1 到 AB1 这一行的字体加粗
    $objPHPExcel->getActiveSheet()->getStyle('A1:AB1')->getFont()->setBold(true);
    // 设置某一行的高度 1.2.3
    $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20);

    //J 、 K列为文本 (输入什么就是什么,不会随着excel系统格式变化)
    $objPHPExcel->getActiveSheet()->getStyle('J')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
    $objPHPExcel->getActiveSheet()->getStyle('K')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
    //设置某一列的宽度
    $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(45);
    $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(45);
    $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(45);
    $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(30);
    $objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(20);
    $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
    $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
    $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
    $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15);
    $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(20);
    // 设置某一行的高度 1.2.3
    $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20);
    for ($i = 0; $i < $cellNum; $i++) {
        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '1', $expCellName[$i]);
    }
    for ($i = 0; $i < $dataNum; $i++) {
        $objPHPExcel->getActiveSheet()->setCellValue($cellName[$i]. 2, $expTableData[$i]);
    }
    header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');
    header("Content-Disposition:attachment;filename={$fileName}.xls");
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
    exit;
}
    /**
     * 话术模版下载 
     */
    public function download(){
        $expTitle = '话术模版';
        $expCellName = ['话术分组','话术内容','关键词'];
        $expTableData = ['XXX','XXXXXX','XXXX'];
        exportExcel($expTitle,$expCellName,$expTableData);
    }

最后生成如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值