caxlsx gem: 生成的 excel 文件显示 #<Axlsx::Worksheet:0x0000559d7e487dc8>
caxlsx gem: generated excel file displays #<Axlsx::Worksheet:0x0000559d7e487dc8>
我有一个简单的例子,当生成 Excel 文件时包含 #<Axlsx::Worksheet:0x0000559d7e487dc8>
。我希望 Excel 文件包含“可分配的钥匙及其房间”。
我正在使用 Rails 5.2, caxlsx -v 3.1.0 and caxlsx_rails -v 0.6.2
。
Rails 控制器:
def unassigned_door_keys_n_rooms
@qry_rslts = Reports::UnassignedDoorKeysNRooms.qry_rslts
@csv_rslts = Reports::UnassignedDoorKeysNRooms.export_as_csv
respond_to do |format|
format.xml { render xlsx: 'unassigned_door_keys_n_rooms', template: 'reports/unassigned_door_keys_n_rooms.xlsx.axlsx' }
format.csv { send_data(@csv_rslts) }
end
end
Rails 查看 unassigned_door_keys_n_rooms.xlsx.axlsx:
require 'axlsx'
p = Axlsx::Package.new
wb = p.workbook
s = wb.styles
header = s.add_style bg_color: 'E6E6E6', i: true, sz: 9, alignment: { horizontal: :left }
wb.add_worksheet do |sheet|
sheet.add_row ["Keys Available to be Assigned And Their Rooms"], style: header
end
在模板文件中,您不需要 gem,手动创建包或最后序列化它 - caxlsx_rails
自动为您完成,您应该使用gem.
提供的辅助方法
见
我有一个简单的例子,当生成 Excel 文件时包含 #<Axlsx::Worksheet:0x0000559d7e487dc8>
。我希望 Excel 文件包含“可分配的钥匙及其房间”。
我正在使用 Rails 5.2, caxlsx -v 3.1.0 and caxlsx_rails -v 0.6.2
。
Rails 控制器:
def unassigned_door_keys_n_rooms
@qry_rslts = Reports::UnassignedDoorKeysNRooms.qry_rslts
@csv_rslts = Reports::UnassignedDoorKeysNRooms.export_as_csv
respond_to do |format|
format.xml { render xlsx: 'unassigned_door_keys_n_rooms', template: 'reports/unassigned_door_keys_n_rooms.xlsx.axlsx' }
format.csv { send_data(@csv_rslts) }
end
end
Rails 查看 unassigned_door_keys_n_rooms.xlsx.axlsx:
require 'axlsx'
p = Axlsx::Package.new
wb = p.workbook
s = wb.styles
header = s.add_style bg_color: 'E6E6E6', i: true, sz: 9, alignment: { horizontal: :left }
wb.add_worksheet do |sheet|
sheet.add_row ["Keys Available to be Assigned And Their Rooms"], style: header
end
在模板文件中,您不需要 gem,手动创建包或最后序列化它 - caxlsx_rails
自动为您完成,您应该使用gem.
见