Как иметь числовой формат для отображения ‘$’, а также десятичных знаков из 4-х мест в phpexcel

#php #phpexcel

#php #phpexcel

Вопрос:

 $this->excel->getActiveSheet()->getStyle('A1')->getNumberFormat()->setFormatCode('0.0000');
$this->excel->getActiveSheet()->getStyle('A1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE);
 

Если я попробую этот код, код для отображения ‘$’ в ячейке будет работать, но не десятичный, если я переверну его, тогда код для отображения четырех десятичных знаков будет работать, но не код для отображения ‘$’.

Я пытаюсь записать в файл Excel, используя библиотеку PHPExcel

Ответ №1:

Коды числового формата — это просто строки, вам не нужно использовать встроенные значения; но вы можете установить для них любую допустимую маску числового формата MS Excel

например

 $this->excel->getActiveSheet()->getStyle('A1')
    ->getNumberFormat()
    ->setFormatCode('$ #,##0.0000');
 

Вы даже можете быть очень умны с ними

 $this->excel->getActiveSheet()->getStyle('A1')
    ->getNumberFormat()
    ->setFormatCode('$ #,##0.0000;[Red]-$ #,##0.0000');
 

Комментарии:

1. Это стандартная маска числового формата MS Excel: ; действует как разделитель между двумя масками, одна для использования, когда значение равно 0 или более, вторая для использования, когда значение отрицательное …. [Red] маска для отрицательного значения означает отображение значения красным текстом, а значения0 или более отображаются любым цветом шрифта, установленным для ячейки

2. Вы можете найти краткое руководство по определению масок числового формата для Excel здесь , на сайте MS Office