Ich habe die Axlsx Edelstein erfolgreich installiert von https://github.com/randym/axlsx Hier ist mein Controller-Code, den ich verwendet, um eine Excel-Datei durch dieses Juwel zu erstellen.Rails - Export Datensätze in herunterladbare Excel-Datei mit Axlsx Edelstein (Keep MVC)
aber nichts mit diesem Code passieren, anstatt es zeigt mir ein Fehler nicht initialisierten Mime
class Coaches::PaymentsController < ApplicationController
before_filter :authenticate_coach!
# List all the payments
def index
if !params[:sort].blank?
@payments = Payment.includes(:member).paginate(:page => params[:page], :order => sort_column + " " + sort_direction)
else
@payments = Payment.includes(:member).paginate(:page => params[:page], :order=>'id desc')
end
respond_to do |format|
format.html
# Change format to xlsx
format.xlsx
format.json { render json: @payments }
end
end
end
Zweitens habe ich mit diesem Code versuchen:
wb = xlsx_package.workbook
wb.add_worksheet(name: "Buttons") do |sheet|
@buttons.each do |button|
sheet.add_row [button.name, button.category, button.price]
end
end
Aber leider funktioniert es nicht. Kann mir jemand nur einen Tipp geben, keine Lösung um meine Aufgabe zu erledigen?
Ich habe als pro Vorschlag dritten Mal versucht:
def index
if !params[:sort].blank?
@payments = Payment.includes(:member).paginate(:page => params[:page], :order => sort_column + " " + sort_direction)
else
@payments = Payment.includes(:member).paginate(:page => params[:page], :order=>'id desc')
end
respond_to do |format|
format.xlsx do
p = Axlsx::Package.new
wb = p.workbook
wb.add_worksheet(name: "Your worksheet name") do |sheet|
sheet.add_row ["First Column", "Second", "Third"]
sheet.add_row [1, 2, 3]
sheet.add_row [' preserving whitespace']
end
send_data p.to_stream.read, type: "application/xlsx", filename: "filename.xlsx"
end
end
end
Es hat mich geworfen http 406 Fehler
Danke Ammy, es funktioniert gut. –
Dies ist die beste Option für den Export nach Excel, hält MVC –
Saved Pantomime Zeit so sehr. –