以下是ActiveAdmin documentation for customizing the CSV format我在我的rails应用程序中使用ActiveAdmin,我希望能够下载包含多个选项卡中数据的CSV文件。我怎么能这样做?
答案 0 :(得分:2)
您可以查看the spreadsheet gem(或here代码)。 CSV本身不支持我知道的多个标签。相反,您可能希望像生成CSV一样生成数据,然后按CSV执行新工作表:
@data_array_normally_for_csvs = #an array of the data hashes you might use for the csvs
book = Spreadsheet::Workbook.new
@data_array_normally_for_csvs.each do |data|
sheet = book.create_worksheet
sheet.name = "whatever"
data.each do |k,v|
sheet1.row(n) = v #where n is the count for the hash and v is the array of values
end
end
这只是为了给您一个想法...您想要深入了解网络上的电子表格documentation,wiki和examples,看看什么效果最好。还有harvesthq's simple_xlsx_writer但我从未使用它,它似乎比电子表格使用得少。
答案 1 :(得分:0)
我们可以使用电子表格gem而不是csv选项,如下所示
Spreadsheet.client_encoding = 'UTF-8'
excel = Spreadsheet::Workbook.new
sheet1 = excel.create_worksheet :name => "Sheet1"
sheet1 = excel.create_worksheet :name => "Sheet2"
header1 = sheet1.row(0)
header1.concat [
'ID',
'NAME',
]
data_row1 = sheet.row(1)
data_row1.concat [
1,
'Anonymous'
]
header1 = sheet1.row(0)
header1.concat [
'name',
'id'
]
data_row1 = sheet1.row(3)
data_row1.concat [
2,
''
]