Форматы учета PHPExcel

Я работаю с PHPExcel, и я пытаюсь форматировать ячейку с использованием встроенного формата "Учет" Excel. Я знаю код формата:

PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE

Но это просто форматирует до двух знаков после запятой и добавляет $перед номером. Результат, который я ищу, - это правая выровненная ячейка с $слева. Значения $0 должны быть указаны как "-", а отрицательные значения должны быть $(1.11)

Насколько я могу судить, в документации нет других форматов валют (хотя я, возможно, пропустил это, эта документация ужасающая). Я ищу не в том месте? Может ли это быть достигнуто с помощью регулярного форматирования ячеек или Excel делает что-то уникальное для учета?

Ответ 1

Я переделал код формата из существующей электронной таблицы с помощью PHPExcel и получил следующее:

_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)

Это код Excel, помещаемый в ячейку, когда вы выбираете формат "Учет"... или нажмите кнопку "$" на панели инструментов в Excel 2007.

Ответ 2

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

например.

[green]$#,##0.00;[red]$(-#,##0.00)

Что касается выравнивания ячеек, установите это правильно самостоятельно или не устанавливайте его вообще.

Ответ 3

$objPHPExcel->getActiveSheet()->getStyle('C1')->getNumberFormat()->setFormatCode("#,##0.00");

или используйте

$objPHPExcel->getActiveSheet()->getStyle('C1')->getNumberFormat()->setFormatCode("#.##0,00");

Установите getStyle CELL.