You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用mPDF与phpSpreadsheet生成PDF时如何调整单元格间距?

解决PhpSpreadsheet+mPDF生成PDF时数字与文本单元格无间距的问题

你遇到的问题确实是因为数字单元格默认右对齐、文本单元格默认左对齐,mPDF渲染PDF时,单元格内容会紧贴相邻单元格的边界,而Excel本身会自动处理视觉间距,所以XLSX输出正常。可以通过以下几种方式添加内边距优化PDF效果:

方法1:为单个单元格设置内边距

通过PhpSpreadsheet的样式对象,给目标单元格设置左右内边距,拉开内容间距:

<?php
require_once __DIR__ . "/vendor/autoload.php";

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;

$spreadsheet = new Spreadsheet();

// 设置列宽
$spreadsheet->getActiveSheet()
            ->getColumnDimension('A')
            ->setWidth(12);
$spreadsheet->getActiveSheet()
            ->getColumnDimension('B')
            ->setWidth(12);
$spreadsheet->getActiveSheet()
            ->getColumnDimension('C')
            ->setWidth(12);

// 设置单元格值
$spreadsheet->getActiveSheet()
            ->setCellValue("A1", 1234567)
            ->setCellValue("B1", 'ABCDEFG')
            ->setCellValue("C1", 'QWERTY');

// 为数字单元格A1设置右边内边距
$spreadsheet->getActiveSheet()->getStyle('A1')->applyFromArray([
    'padding' => [
        'right' => 5, // 单位:pt
    ],
]);

// 为文本单元格B1设置左边内边距(可选,配合A1的右边内边距效果更明显)
$spreadsheet->getActiveSheet()->getStyle('B1')->applyFromArray([
    'padding' => [
        'left' => 3,
    ],
]);

header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="test.pdf"');
header('Cache-Control: max-age=0');
$objwriter = IOFactory::createWriter($spreadsheet,'Mpdf');
$objwriter->save("php://output");

方法2:设置全局默认单元格样式

如果需要所有单元格都统一内边距,可以设置工作表的默认样式,避免逐个单元格配置:

// 在创建工作表后添加全局样式设置
$defaultStyle = $spreadsheet->getDefaultStyle();
$defaultStyle->applyFromArray([
    'padding' => [
        'left' => 2,
        'right' => 2,
        'top' => 1,
        'bottom' => 1,
    ],
]);

方法3:调整单元格对齐方式(备选)

如果允许调整对齐规则,也可以将数字单元格改为左对齐,或者文本单元格改为右对齐,避免内容紧贴:

// 将数字单元格A1设置为左对齐
$spreadsheet->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT);

内容的提问来源于stack exchange,提问作者RMichaelW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 16:35:00