2011-12-14 3 views
2

Я использую класс PHPExcel для записи в файл excel.
phpExcel, как написать верхний индекс в excel

Мой вопрос: как написать данные в ячейке с индексом, если мое значение (M<sup>3</sup>) М (первенствует)

// $data['dataLashing'][$i]['units_name'] - it`s a value from db in LOOP 

$getExcelObject 
      ->mergeCells("A$startRow:E$startRow")->setCellValue("A$startRow",$data['dataLashing'][$i]['material']) 
      ->mergeCells("F$startRow:G$startRow")->setCellValue("F$startRow",$data['dataLashing'][$i]['units_name']) 
      ->mergeCells("H$startRow:I$startRow")->setCellValue("H$startRow",$data['dataLashing'][$i]['quantity']); 

http://phpexcel.codeplex.com/

ответ

2

Попробуйте это:

 $objRichText = new PHPExcel_RichText(); 
     $objRichText->createText($data['dataLashing'][$i]['units_name']); 

    //condition your html tag 
     if(preg_match('/<sup>(.+)<\/sup>/i', $data['dataLashing'][$i]['units_name'],$result)) { 
     $objRichText = new PHPExcel_RichText(); 
     $objCubed = $objRichText->createText(preg_replace('/<sup>(.+)<\/sup>/i', '', $data['dataLashing'][$i]['units_name'])); 
     $objCubed = $objRichText->createTextRun($result[1]); 
     $objCubed->getFont()->setSuperScript(true); 
     }  
     $getExcelObject 
     ->mergeCells("A$startRow:E$startRow")->setCellValue("A$startRow",$data['dataLashing'][$i]['material']) 
     ->mergeCells("F$startRow:G$startRow")->setCellValue("F$startRow",$objRichText) 
     ->mergeCells("H$startRow:I$startRow")->setCellValue("H$startRow",$data['dataLashing'][$i]['quantity']); 

    } 
+0

awesome .. thx !! динамически с условием .. thx! – Dezigo

1

Вам нужно заполнить ячейку насыщенным текстом:

$objRichText = new PHPExcel_RichText(); 
$objRichText->createText('M'); 

$objCubed = $objRichText->createTextRun('3'); 
$objCubed->getFont()->setSuperScript(true); 

$objPHPExcel->getActiveSheet()->getCell('A18')->setValue($objRichText); 
+0

да 's работает, но в базе данных, мои ценности в содержимом а HTML-теги как этот M .. Я хочу сделать это динамически – Dezigo

+0

конвертировать HTML тег на верхний индекс .. – Dezigo

+0

В PHPExcel нет метода для преобразования разметки HTML в богатые текстовые прогоны, так что вам нужно писать самостоятельно –

Смежные вопросы