Dan*_*nel 2 php phpspreadsheet
我有以下单元格数据:
bla bla bla abcd efgh ijkl
注意,abcd是粗体,efgh是斜体,同时ijkl是粗体和斜体。
我想读取整个单元格的数据,并将其保存在数据库中,以便我可以按原样将其呈现给最终用户(意味着使用这些样式)。我搜索了文档,我只能修改这个代码:
$path = $this->get('kernel')->getRootDir() . '/../intrebari.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($path);
$bold = $spreadsheet->getActiveSheet()->getStyle('A3')->getFont()->getBold();
Run Code Online (Sandbox Code Playgroud)
但它的问题在于,这仅在整个单元格文本为粗体时才有效,在我的情况下,只有一部分为粗体。
有谁知道如何解决这个问题?谢谢!
小智 5
使用多种格式的单元格 \PhpOffice\PhpSpreadsheet\RichText\RichText(请参阅:将富文本添加到文档中的单元格)。
要获取所需的信息,您可以使用以下内容:
$cellValue = $spreadsheet->getActiveSheet()->getCell('A3')->getValue();
if ($cellValue instanceof \PhpOffice\PhpSpreadsheet\RichText\RichText) {
foreach ($cellValue->getRichTextElements() as $richTextElement) {
var_dump($richTextElement->getText());
var_dump($richTextElement->getFont()->getBold());
}
}
Run Code Online (Sandbox Code Playgroud)