我尝试过使用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有一些共同之处 任何想法为什么会这样发生?
答案 0 :(得分:0)
通过切换到Excel2007而不是Excel5解决了问题。
仍在寻找Excel5的解决方案