【问题标题】:PHPSpreadsheet how to copy cell with formatting?PHPSpreadsheet如何复制带有格式的单元格?
【发布时间】:2022-01-09 09:49:30
【问题描述】:

你能告诉我如何将一个单元格的值及其格式复制到另一个单元格吗? 例如,您有一个 Excel 文档 (xlsx),其中单元格 J5 包含值“正”,带有黑色填充和白色文本(黑色背景上的白色文本)。 我想将此值复制到单元格 C2 中,但无论我如何尝试(getValue 和 getFormattingValue 都没有) - 只复制了该值,没有格式化。

下面是一些尝试不同选项的代码。顺便说一句,我还注意到在生成的文件 (test_result.xlsx) 中,单元格 J5 的格式完全消失了。

我做错了什么?

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load("test.xlsx");
$links2 = $spreadsheet->getSheet(0)->getCell("J5")->getValue();
$links3 = $spreadsheet->getSheet(0)->getCell("J5")->getFormattedValue();
$links4 = $spreadsheet->getSheet(0)->getCell("J5")->getCalculatedValue();
$spreadsheet->getSheet(0)->setCellValueByColumnAndRow(3, 2, $links2);
$spreadsheet->getSheet(0)->setCellValueByColumnAndRow(3, 3, $links3);
$spreadsheet->getSheet(0)->setCellValueByColumnAndRow(3, 4, $links4);
$oWriter = IOFactory::createWriter($spreadsheet, 'Xlsx');
$oWriter->save("test_result.xlsx");
?>

【问题讨论】:

    标签: php excel phpspreadsheet


    【解决方案1】:

    getFormattedValue 仅传输单元格本身的格式(文本、cilo 等),而不传输样式。 这样您就可以将数据复制到数组中然后应用它。那些。最终的伪代码如下所示:

    <?php
    require 'vendor/autoload.php';
    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\IOFactory;
    $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load("test.xlsx");
    $links2 = $spreadsheet->getSheet(0)->getCell("J5")->getValue();
    $styleArray = $spreadsheet->getSheet(0)->getStyle('J5')->exportArray();
    $spreadsheet->getSheet(0)->setCellValueByColumnAndRow(3, 2, $links2);
    $spreadsheet->getSheet(0)->getStyle('С2')->applyFromArray($styleArray);
    $oWriter = IOFactory::createWriter($spreadsheet, 'Xlsx');
    $oWriter->save("test_result.xlsx");
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      • 2019-08-03
      • 1970-01-01
      • 2019-11-04
      • 2018-01-02
      相关资源
      最近更新 更多