使用 PHPExcel,您可以识别单元格是否包含富文本,因为 getValue() 调用将返回 PHPExcel_RichText 对象而不是字符串/整数/浮点数/布尔标量类型。
然后,您可以遍历该 PHPExcel_RichText 对象的 PHPExcel_RichText_Run 对象集合,查看与其关联的样式:
$cellValueAsString = '';
$elements = $cell->getValue()->getRichTextElements();
foreach ($elements as $element) {
// Rich text start?
if ($element instanceof PHPExcel_RichText_Run) {
if ($element->getFont()->getSuperScript()) {
$cellValueAsString .= '<sup>';
} else if ($element->getFont()->getSubScript()) {
$cellValueAsString .= '<sub>';
}
}
// Convert UTF8 data to PCDATA
$cellText = $element->getText();
$cellValueAsString .= htmlspecialchars($cellText);
if ($element instanceof PHPExcel_RichText_Run) {
if ($element->getFont()->getSuperScript()) {
$cellValueAsString .= '</sup>';
} else if ($element->getFont()->getSubScript()) {
$cellValueAsString .= '</sub>';
}
}
}
将是一个简单的代码块,将富文本单元格内容转换为简单的 HTML 标记,显示上标和下标字符