формат денежного числа с использованием таблицы - PullRequest
5 голосов
/ 02 апреля 2012

Я использую гем Spreadsheet для создания листа Excel. как я могу применить числовой формат валюты к определенной ячейке?

Ответы [ 2 ]

5 голосов
/ 02 апреля 2012

Не пробовал, но, возможно, следующее укажет вам правильное направление:

nb_format = Spreadsheet::Format.new  :number_format => '$#,###.##'
cell.set_format(0, nb_format)
1 голос
/ 01 июля 2014

Если вы хотите использовать один из встроенных в Excel форматов валют, один хак должен использовать Excel , чтобы отформатировать ячейку электронной таблицы (скажем, строка 1, столбец A) с нужным вам форматом. Сохраните его, затем используйте гем электронной таблицы до , прочитайте формат Excel дал эту ячейку. В моем случае я получил _([$$-409]* #,##0.00_);_([$$-409]* \\(#,##0.00\\);_([$$-409]* \"-\"??_);_(@_) в качестве формата для USD. Тогда вы можете использовать его так:

currency_format = Spreadsheet::Format.new number_format: "_([$$-409]* #,##0.00_);_([$$-409]* \\(#,##0.00\\);_([$$-409]* \"-\"??_);_(@_)"
sheet.row(r).set_format(col, currency_format)
...