如何在PHP中实现单元格样式化的Excel导出?

2023-12-17 21:28:56

要在PHP中实现单元格样式化的Excel导出,您可以使用类似PHPExcel、PhpSpreadsheet或其他Excel库。这些库允许您以编程方式创建和自定义Excel文档的内容和样式。以下是一个基本示例,演示如何使用PhpSpreadsheet库来创建带有样式的Excel文档:

首先,确保您已经安装了PhpSpreadsheet库。您可以使用Composer进行安装:

composer require phpoffice/phpspreadsheet

然后,以下是一个示例代码,演示如何创建带有样式的Excel文档:

<?php
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Style\Border;
use PhpOffice\PhpSpreadsheet\Style\Fill;

// 创建一个新的Excel工作簿
$spreadsheet = new Spreadsheet();

// 选择第一个工作表
$sheet = $spreadsheet->getActiveSheet();

// 设置单元格A1的值
$sheet->setCellValue('A1', '姓名');

// 设置单元格A1的样式
$style = [
    'font' => [
        'bold' => true,
        'color' => ['rgb' => 'FFFFFF'],
    ],
    'alignment' => [
        'horizontal' => Alignment::HORIZONTAL_CENTER,
    ],
    'fill' => [
        'fillType' => Fill::FILL_SOLID,
        'startColor' => ['rgb' => '428bca'],
    ],
    'borders' => [
        'allBorders' => [
            'borderStyle' => Border::BORDER_THIN,
        ],
    ],
];
$sheet->getStyle('A1')->applyFromArray($style);

// 设置单元格B1的值
$sheet->setCellValue('B1', '年龄');

// 设置单元格B1的样式
$sheet->getStyle('B1')->applyFromArray($style);

// 在单元格A2和B2中填充数据
$sheet->setCellValue('A2', 'John Doe');
$sheet->setCellValue('B2', 30);

// 设置单元格A2和B2的对齐方式
$sheet->getStyle('A2:B2')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);

// 保存Excel文件
$writer = new Xlsx($spreadsheet);
$writer->save('sample.xlsx');

上述示例创建了一个包含两列数据的Excel文档,并为第一行添加了样式。可以根据需要添加更多的单元格和自定义样式。完成后,可以使用$writer->save()方法将Excel文件保存到服务器上。这个示例使用了一些常见的样式属性,包括字体、对齐方式、边框和填充颜色。可以根据需要自定义样式。

文章来源:https://blog.csdn.net/u013718071/article/details/135050260
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。