我无法在我的Excel文件中正确转录我的html文本。 我查看了HTML.php并尝试更改breakTag函数以插入" \ n"而不是PHP_EOL(我在mac上工作),但它也不起作用。 如果我更改此功能以插入" BBBB"相反,我可以看到字符串出现在我的单元格中,因此正确调用了该函数。 我也尝试过42richText.php中给出的例子,但它也不起作用。三条线正确着色但没有断裂线。 这是我的代码
$wizard = new PHPExcel_Helper_HTML;
$cellText = $wizard->toRichTextObject('<p>First line</p><p>Second line</p>');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colText.$Row, $cellText);
$objPHPExcel->getActiveSheet()->getStyle($colText.$Row)->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->mergeCells($colText.$Row.':'.$colText.($Row+ $tableRows));
由于保持换行符的输入更多是为了理解而不是文本丰富,我编写了一个小函数来删除html标记,但保留换行符:
function getRichTextFromHtml($text){
$text = str_replace("</p>","</p>\n", $text);
$text = preg_replace("/(<\/?)(\w+)([^>]*>)/", " ",$text);
$text = html_entity_decode($text, ENT_COMPAT, 'UTF-8');
return $text;
}
$cellText = getRichTextFromHtml('<p>First line</p><p>Second line</p>');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('H'.$Row, $cellText);
$objPHPExcel->getActiveSheet()->getStyle('H'.$Row)->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->mergeCells('H'.$Row.':'.'I'.($Row+ $tableRows));
通过调用此函数,我可以在我的单元格中正确分割我的行,但是我放松了大胆和其他丰富...
有人可以帮忙吗? 感谢