【发布时间】: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