LINUX.ORG.RU

PHPExcel - записать число как текст

 , phpexcel,


0

1

Где чего в PHPExcel подправить, чтобы оно перестало менять точку на запятую?

$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$active_sheet = $objPHPExcel->getActiveSheet();
$active_sheet->getStyle('A1:C1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$active_sheet->fromArray(array('1.1','1.2','1.3'), NULL, 'A1');

На выходе: 1,1 1,2 1,3, а мне нужны точки.

★★★★★

Ответ на: комментарий от alozovskoy

Для чисел да, но я формат ячейки == текст выставляю же.

Lavos ★★★★★
() автор топика

Давно пользовался этим классом, была такая же проблема (и, если не ошибаюсь, в русском mso было ок, а в английской версии ooo не ок. Или наоборот), не помню, как решил. Беглое гугление говорит, что можно задать тип данных в ячейке как-то так:

$active_sheet->getCell('A1')->setValueExplicit('1.1', PHPExcel_Cell_DataType::TYPE_STRING);

emissar ★★
()
Ответ на: комментарий от emissar

Еще бы к fromArray() это прикрутить. Поштучно в ячейки кидать данные - это же ад и израиль.

Lavos ★★★★★
() автор топика

не скажу про PHPExcel, но в самом Excel чтобы число отформатировать принудительно в текст надо в перед ним поставить

'
тогда Excel его никак не преобразовывает.

Spider_xp
()
Ответ на: комментарий от Spider_xp

Меня тоже посещала данная мысль - в phpexcel это не работает.

Lavos ★★★★★
() автор топика
Ответ на: комментарий от Jaberwock

Ага, setCellValueExplicit уже выше советовали.

Lavos ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.