我试图以这样的数字格式添加欧元符号:
workbook.add_format(:num_format => "[$€-2] #,##0.00")
错误:
'store_num_format': Uneven number of bytes in Unicode font name
默认情况下,文档字体为Arial
。
我可以将其更改为美元符号并且可以正常工作。
workbook.add_format(:num_format => "[$$-409]#,##0.00")
任何人都有问题让欧元符号显示在WriteExcel中?
答案 0 :(得分:3)
这不会直接回答您的问题,但您确实应该考虑查看axlsx。它正确处理字符串编码,并提供更好的API。
示例:
# encoding: UTF-8
require 'axlsx'
p = Axlsx::Package.new
wb = p.workbook
euro = wb.styles.add_style(:format_code => "[$€-2] #,##0.00")
wb.add_worksheet do |sheet|
100.times do |i|
sheet.add_row [100*i], :style => euro
end
end
p.serialize '/tmp/test.xlsx'
答案 1 :(得分:0)
该语法应该有效,(它在移植它的Perl模块中工作),但是其中一个子类中存在错误。
我会报告。
与此同时,您可以尝试同一作者的write_xlsx gem,它是与writeexcel的API兼容替代品,除了它以XLSX文件格式为目标。
更新1:Issue reported。
更新2:Issue fixed。