带欧元符号的Ruby WriteExcel数字\格式

带欧元符号的Ruby WriteExcel数字\格式,ruby,spreadsheet,Ruby,Spreadsheet,我正在尝试以数字格式添加欧元符号,如下所示: 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")

我正在尝试以数字格式添加欧元符号,如下所示:

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")

<> Pr> Excel中的任何一个问题都有问题吗?这不直接回答你的问题,但你真的应该考虑退房。它正确地处理字符串编码,并提供了一个更好的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'
这种语法应该可以工作(它在从中移植的Perl模块中工作),但是其中一个子类中有一个bug

我会报告的

同时,您可以尝试由同一作者编写的gem,它是与API兼容的writeexcel替代品,只是它的目标是XLSX文件格式

更新1:


更新2:。

此问题现已修复。见下文。