1

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

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 中时遇到问题吗?

4

2 回答 2

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'
于 2012-04-11T14:20:55.163 回答
0

该语法应该可以工作,(它可以在从中移植的 Perl 模块中工作),但是其中一个子类中有一个错误。

我会报告的。

同时,您可以尝试使用同一作者的write_xlsx gem,它是 writeexcel 的 API 兼容替代品,但它针对 XLSX 文件格式。

更新 1:报告的问题

更新 2:问题已修复

于 2012-04-12T09:57:56.247 回答