tp6 导出数据成excel表

composer安装phpoffice:composer require phpoffice/phpspreadsheet


public function exportExcel()
{
    // 查询要导出的数据
    $model = GoodsModel::user();
    // 实例化
    $spreadsheet = new Spreadsheet();
    // 获取活动单元格
    $sheet = $spreadsheet->getActiveSheet();

    // 获取单元格
    $cellA = $sheet->getCell('A1');
    // 设置单元格的值
    $cellA->setValue('ID');
    // 设置 A 列 列宽
    $sheet->getColumnDimension('A')->setWidth(10);
    // 设置第一行 行高
    $sheet->getRowDimension(1)->setRowHeight(20);

    $cellB = $sheet->getCell('B1');
    $cellB->setValue('用户名');
    $sheet->getColumnDimension('B')->setWidth(20);

    $cellC = $sheet->getCell('C1');
    $cellC->setValue('登陆密码');
    $sheet->getColumnDimension('C')->setWidth(10);


    // 设置样式 标题
    $styleArray = [
        'alignment' => [
            'horizontal' => 'center', //水平居中
            'vertical' => 'center', //垂直居中
        ],
        'font' => [
            'name' => '黑体',
            'bold' => false,
            'size' => 10
        ]
    ];
    // 设置样式 正文
    $styleArrayBody = [
        'alignment' => [
            'horizontal' => 'center', //水平居中
            'vertical' => 'center', //垂直居中
        ],
        'font' => [
            'name' => '宋体',
            'bold' => false,
            'size' => 10
        ]
    ];
    // 应用样式
    $sheet->getStyle('A1')->applyFromArray($styleArray);
    $sheet->getStyle('B1')->applyFromArray($styleArray);
    $sheet->getStyle('C1')->applyFromArray($styleArray);
    // 从 A2 开始填充数据
    foreach ($model as $k => $v) {
        $n = $k + 2;
        // 获取单元格
        $cellA = $sheet->getCell('A' . $n);
        // 设置单元格的值
        $cellA->setValue($v['id']);

        $cellB = $sheet->getCell('B' . $n);
        $cellB->setValue('user_name');

        $cellC = $sheet->getCell('C' . $n);
        $cellC->setValue($v['user_pwd']);

    }

    $file_name = '用户表.xlsx';
    // 实例化导出类
    header('Content-Type:application/vnd.ms-excel');
    header('Content-Disposition:attachment;filename=' . $file_name);
    header('Cache-Control:max-age=0');

    $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
    $writer->save('php://output');
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值