Форматы учета 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.