Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 显示©&;使用Ruby on Rails的excel中的符号_Ruby On Rails_Spreadsheet - Fatal编程技术网

Ruby on rails 显示©&;使用Ruby on Rails的excel中的符号

Ruby on rails 显示©&;使用Ruby on Rails的excel中的符号,ruby-on-rails,spreadsheet,Ruby On Rails,Spreadsheet,我正在用电子表格gem和rubyonrails将数据导出到excel文件中。我想在excel文件中添加页眉和页脚。问题是当我这样做时,版权符号、符号和注册符号没有显示。要么抛出多字节字符错误,要么干脆什么也不显示 我经历过所有类似的问题,甚至尝试了编码utf-8和编码utf-8。这是没有用的。 当我尝试使用转义序列(“\u00A9”-unicode代码表示©时,文件格式已损坏。这个问题有什么可能的解决办法吗?我错过什么了吗? 请帮忙 提前感谢此代码适用于我: def do_test book

我正在用电子表格gem和rubyonrails将数据导出到excel文件中。我想在excel文件中添加页眉和页脚。问题是当我这样做时,版权符号、符号和注册符号没有显示。要么抛出多字节字符错误,要么干脆什么也不显示

我经历过所有类似的问题,甚至尝试了编码utf-8和编码utf-8。这是没有用的。 当我尝试使用转义序列(“\u00A9”-unicode代码表示©时,文件格式已损坏。这个问题有什么可能的解决办法吗?我错过什么了吗? 请帮忙


提前感谢

此代码适用于我:

def do_test
  book = Spreadsheet::Workbook.new
  sheet1 = book.create_worksheet
  sheet1[0,0] = "\u00a9"
  book.write "./sample.xls"
end
您可能在某个时候将电子表格编码设置为UTF-8以外的其他格式。您可以检查
电子表格.client\u encoding
以查看正在使用的内容

更新

add_header/footer
代码非常特定于编码。以下是使用的代码:

def write_header
  write_op opcode(:header), [@worksheet.header.bytesize, 0].pack("vC"), @worksheet.header
end

默认情况下,Excel编写器使用Unicode-1200(UTF-16 little-endian)。这可能意味着您需要使用
“\u00a9.encode('UTF-16LE')
对任何非标准字符进行编码,以使其工作在excel工作表的content@PinnyM中。但我希望在打印时将符号添加到excel的标题中。这样做时,它说文件已损坏。此外,我还检查了客户端_编码,哪一个UTF-8仅在顶行显示“Header”,或者工作表名称,或者其他什么?也许发布一些代码来显示您正在尝试执行的操作会有所帮助……这是我在controller.rb中编写的代码。sheet.add_header(“Company Name”)sheet.add_footer(“Company Name”)如果我这样给出,那么当我在写入文件后试图打开该文件时,文件格式错误就会出现。所以我试着添加符号如下。表.添加页脚(“公司名称\u00a9”)。通过这样做,我得到了无效的多字节字符(US-ASCII)错误。您正在运行哪个版本的电子表格gem?当我在最新的0.7.3版本上尝试此功能时,我得到了
未定义的方法“add_header”
,非常感谢您为我花费了宝贵的时间。我使用的是电子表格-0.6.5.7。在这个版本的gem中没有像add_header或add_footer这样的方法。因此,我引用了下面的链接来自定义工作表的标题。我在配置/初始化器中使用了该代码。如果你看这个链接,你就会明白。