PHPExcel RichText Excel5 Office 2007出错时抱怨

时间:2015-05-04 06:17:15

标签: php phpexcel

我尝试过使用RichText,但大多数情况下它工作正常但有时(一个案例到20个)Microsoft Office无法打开某些文档说它们已损坏。

代码是:

                    $objRichText = new PHPExcel_RichText();
                $objRichText->createTextRun("Руководитель   ")
                      ->getFont()->setSize($textSize);
                $objRichText->createTextRun("    Иванов Петр Анатольевна     ")
                      ->getFont()->setSize($textSize)
                      ->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
                $sheet->mergeCells("B$i:F$i")
                      ->setCellValue("B$i", $objRichText);

如果我用通常的文本替换RichText,它在所有情况下都可以100%正常工作。

代码是:

 $sheet->getStyle("B$i")->getFont()->setBold(true);
                    $sheet->setCellValue("B$i", 'Руководитель ');

                    $styleArray = array('font' => array('bold' => false, 'underline' => PHPExcel_Style_Font::UNDERLINE_SINGLE),);

                    $sheet->getStyle("C$i")->applyFromArray($styleArray);
                    $sheet->mergeCells("C$i:F$i")->setCellValue("C$i",
                          '  Иванов Пётр Анатольевна');

我很乐意离开RichText。但我不能,因为客户希望在同一个单元格中使用不同格式的文本。

看起来它与https://github.com/PHPOffice/PHPExcel/issues/284有一些共同之处 任何想法为什么会这样发生?

1 个答案:

答案 0 :(得分:0)

通过切换到Excel2007而不是Excel5解决了问题。

仍在寻找Excel5的解决方案