发新帖

[PHP] PHPExcel 怎么合并多个单元格

零下一度 2023-8-29 685

可以使用 mergeCells 方法来合并多个单元格。例如,以下示例将 A1 到 B2 和 C1 到 D2 的单元格合并为两个单元格:

$sheet = new PHPExcel();
$sheet->setCellValue('A1', '合并单元格');
$sheet->mergeCells('A1:B2');
$sheet->mergeCells('C1:D2');

PHPExcel 合并单元格并设置文字居中

要在 PHPExcel 中合并单元格并设置文字居中,可以使用以下代码:

// 创建一个新的 PHPExcel 对象
$objPHPExcel = new PHPExcel();
// 设置文档属性
$objPHPExcel->getProperties()->setCreator("Your Name")
                             ->setLastModifiedBy("Your Name")
                             ->setTitle("Office 2007 XLSX Test Document")
                             ->setSubject("Office 2007 XLSX Test Document")
                             ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
                             ->setKeywords("office 2007 openxml php")
                             ->setCategory("Test result file");
// 添加一些数据
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'Hello')
            ->setCellValue('B1', 'World!')
            ->setCellValue('C1', 'This is a test');
// 合并单元格
$objPHPExcel->getActiveSheet()->mergeCells('A1:C1');
// 设置单元格边框样式
$styleArray = array(
    'borders' => array(
        'allborders' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN,
        ),
    ),
);
$objPHPExcel->getActiveSheet()->getStyle('A1:C1')->applyFromArray($styleArray);
// 设置单元格文字居中
$objPHPExcel->getActiveSheet()->getStyle('A1:C1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// 保存文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('test.xlsx');

这段代码将创建一个包含合并单元格的 Excel 文件,并将单元格边框设置为细线。同时,它还将设置单元格内的文字居中对齐。


设置单元格宽度

<?php
require 'PHPExcel.php'; // 引入PHPExcel库
$objPHPExcel = new PHPExcel(); // 实例化一个PHPExcel对象
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello World !'); // 设置单元格的值
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true); // 设置A列宽度自适应
$width = $objPHPExcel->getActiveSheet()->getColumnDimension('A')->getWidth(); // 获取A列的当前宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth($width - 5); // 将A列的宽度设置为当前宽度减5
?>


最新回复 (0)
返回
零下一度
主题数
931
帖子数
0
注册排名
1