所以我使用这个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
答案 0 :(得分:0)
它与customer.name
和您的工作表名称有关。它限制为31个字符,有时您的客户名称更长。使用customer.name[0,31]
或其他方法确保长度。
电子表格规范还限制了工作表名称中可以包含的字符数。今天早上我找不到具体的例子。但是,如果你将名字剥离为a-zA-Z1-9而且 - 你应该过去。