上传Excel文件没问题,而不是问题
经历了很多关于将excel加载到mysql的文章 试过
http://sourceforge.net/projects/phpexcelreader/
https://stackoverflow.com/a/7889220/1026905(非常好的编码类)
我的问题是我无法上传excel文件中的字符,因为它是
上标部分正在转换
中的示例 ∴ tn = n² + 2n + 1 + 2
n²...按原样转换 ∴....按原样转换
所有字符如∠Ωπ√∞≅⊥∫∪∴≈≡⊆μ我可以转换为
只有问题是tn,t1,t2,t3我无法得到n,1,2,3作为下标(这里不能显示,但你可以在图像中查看
tn ... should be t<sub>n</sub>
... in html format n should be subscript
我没有得到它,因为它是
答案 0 :(得分:2)
使用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标记