错误处理gem' axlsx_rails'

时间:2016-02-17 12:01:00

标签: ruby-on-rails ruby xlsx axlsx

所以我使用这个gem axlsx_rails导出excel文件中的一些数据。但有时我会得到像禁止字符这样的错误,因为名称或名称超过31个字符大小。我不明白如何处理这些错误。如果发生此类错误并显示flash消息,我想要的只是再次呈现索引。我目前的代码在

之下
Class CustomersController
def index
    @customers = Customer.all
    respond_to do |format|
      format.html # index.html.erb
      format.xls
      format.xlsx
    end
  end
end

和index.xlsx.axlsx

 wb = xlsx_package.workbook
    @customers = Customer.all
    @customers.each do |customer|
        wb.add_worksheet(name: customer.name) do |sheet|
        sheet.add_row ["Name", ...... ]
        .
        .
        .
   end

1 个答案:

答案 0 :(得分:0)

它与customer.name和您的工作表名称有关。它限制为31个字符,有时您的客户名称更长。使用customer.name[0,31]或其他方法确保长度。

电子表格规范还限制了工作表名称中可以包含的字符数。今天早上我找不到具体的例子。但是,如果你将名字剥离为a-zA-Z1-9而且 - 你应该过去。