diff options
Diffstat (limited to 'lib/roo/excelx/cell')
| -rw-r--r-- | lib/roo/excelx/cell/number.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/roo/excelx/cell/number.rb b/lib/roo/excelx/cell/number.rb index 7ea48b5..5cd9b55 100644 --- a/lib/roo/excelx/cell/number.rb +++ b/lib/roo/excelx/cell/number.rb @@ -66,6 +66,16 @@ module Roo when '##0.0E+0' then '%.1E' when "_-* #,##0.00\\ _€_-;\\-* #,##0.00\\ _€_-;_-* \"-\"??\\ _€_-;_-@_-" then number_format('%.2f', '-%.2f') when '@' then proc { |number| number } + when /^(?:_\()?"([^"]*)"(?:\* )?([^_]+)/ + proc do |number| + formatted_number = generate_formatter($2).call(number) + "#{$1}#{formatted_number}" + end + when /^_[- \(]\[\$([^-]*)[^#@]+([^_]+)/ + proc do |number| + formatted_number = generate_formatter($2).call(number) + "#{$1}#{formatted_number}" + end else raise "Unknown format: #{format.inspect}" end |
