Please try this code to read text with superscript from excel file using PHPExcel.
`/** PHPExcel_IOFactory */
require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php';
echo date('H:i:s') , " Load from Excel2007 file" , EOL;
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load("Book5.xlsx");
echo date('H:i:s') , " Iterate worksheets by Row" , EOL;
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
echo 'Worksheet - ' , $worksheet->getTitle() , EOL;
foreach ($worksheet->getRowIterator() as $row) {
echo ' Row number - ' , $row->getRowIndex() , EOL;
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
foreach ($cellIterator as $cell) {
if (!is_null($cell) ) {
$orginaltext = $cell->getValue() ;
if (is_object($orginaltext)) {
$cellValueAsString = '';
$cellValueAsString1 = '';
if ($orginaltext->getRichTextElements() ) {
$elements = $cell->getValue()->getRichTextElements();
foreach ($elements as $element) {
if ($element instanceof PHPExcel_RichText_Run) {
if ($element->getFont()->getSuperScript()) {
$cellValueAsString .= '<sup>';
} else if ($element->getFont()->getSubScript()) {
$cellValueAsString .= '<sub>';
}
$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>';
}
}
}else{
$cellText = $element->getText();
$cellValueAsString .= htmlspecialchars($cellText);
}
}
echo ' Cell - ' , $cell->getCoordinate() , ' - ' , nl2br($cellValueAsString) , EOL;
}
}
else{
echo ' Cell - ' , $cell->getCoordinate() , ' - ' , nl2br($cell->getCalculatedValue()) , EOL;
}
}
}
}
}
`
Also you can use the below code to get specific cell from Excel instead of row iteration.
$cell = $sheet->getCellByColumnAndRow(11,2); This can be used to select purticular row.