phpExcel 合并单元格 居中对齐

该代码示例展示了如何使用PHP的PHPExcel库来生成Excel文件。它首先定义了一个数据数组,然后实例化PHPExcel类,设置表格头,合并单元格,调整对齐方式,行高和列宽。接着,遍历数据数组并将内容填充到Excel表格中,最后保存文件并返回文件路径。
摘要由CSDN通过智能技术生成
//获取导出数据 $data
$data = [
    [
        'id' => 1,
        'name' => '张三',
        'status' => 1,
    ],
];

// 实例化PHPExcel类
$objPHPExcel = new \PHPExcel();

// 激活当前的sheet表
$objPHPExcel->setActiveSheetIndex(0);

//5.设置表格头(即excel表格的第一行)
$objPHPExcel->setActiveSheetIndex(0)
    ->mergeCells('A1:A2')    //合并单元格,不需要合并单元格忽略
    ->mergeCells('B1:B2')
    ->mergeCells('C1:C2')
    ->setCellValue('A1', 'id')    //设置表头值
    ->setCellValue('B1', '姓名')
    ->setCellValue('C1', '状态')

//统一设置水平居中、垂直居中
$objPHPExcel->getDefaultStyle()
    ->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER)
    ->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);

//统一设置行高
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20);

//统一设置列宽
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(15);


// 循环刚取出来的数组,将数据逐一添加到excel表格。
for ($i = 0; $i < count($list); $i++) {
    $objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + 3), $list[$i]['id']);    //这里表头占了2行,所以是$i+3,如果表头占1行是$i+1
    $objPHPExcel->getActiveSheet()->setCellValue('B' . ($i + 3), $list[$i]['name']);
    $objPHPExcel->getActiveSheet()->setCellValue('C' . ($i + 3), $list[$i]['status'] == 1 ? "正常" : "停用");
}

// 设置Excel名称
$filename = '人员表_' . date('YmdHis', time()) . ".xlsx";
// 设置表格的sheet名称
$objPHPExcel->getActiveSheet()->setTitle('人员表');

// 保存本地文件
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(UPLOAD_TEMP_PATH . "/" . $filename);

// 文件地址
$filePath = get_image_url(str_replace(ATTACHMENT_PATH, "", UPLOAD_TEMP_PATH . "/" . $filename));

return json(message("操作成功", true, $filePath, 0));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值