gpt4 book ai didi

PHPSpreadsheet 从单元格中的文本读取样式

转载 作者:行者123 更新时间:2023-12-02 17:10:47 37 4
gpt4 key购买 nike

我有以下单元格数据:

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();

但它的问题是,只有当整个单元格文本都是粗体时,这才有效,而在我的例子中,只有一部分是粗体。

有人知道怎么解决这个问题吗?谢谢!

最佳答案

具有多种格式的单元格使用 \PhpOffice\PhpSpreadsheet\RichText\RichText(请参阅文档中的 Add rich text to a cell)。

要获取所需的信息,您可以使用如下内容:

$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());
}
}

关于PHPSpreadsheet 从单元格中的文本读取样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49371941/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com