J'utilise la classe CSV pour convertir des données dans un fichier Excel basé sur http://railscasts.com/episodes/362-exporting-csv-and-excel.Comment convertir des données dans un fichier Excel
Lors du téléchargement du fichier Excel, il n'est pas mis à jour avec les dernières données que je vois sur ma page Web en utilisant des filtres. Mon fichier Excel contient des données qui sont affichées lors du premier chargement de la page.
J'ai essayé de déboguer le problème et a essayé d'autres pierres précieuses comme xlsx_writer, obtenir le même résultat:
def commission_report
today = Date.today
if params[:from_date].present?
from_date = params[:from_date]
to_date = params[:to_date]
elsif params[:filter] == 'monthly'
to_date = today
from_date = today - 30
else
to_date = today
from_date = today - 7
end
@commissions_report = UserOrderHistory.select("user_order_histories.*,SUM(user_order_histories.revenue_sharing) as revenue_total, restaurants.restaurant_name, managers.username,revenue_sharings.revenue").joins("LEFT JOIN revenue_sharings ON revenue_sharings.restaurant_id = user_order_histories.restaurant_id").joins("LEFT JOIN restaurants ON restaurants.id = user_order_histories.restaurant_id").joins("LEFT JOIN managers ON managers.id = restaurants.manager_id").where("user_order_histories.status != ''").where("revenue_sharing > 0").group("user_order_histories.restaurant_id,user_order_histories.deduction_date").where("user_order_histories.deduction_date BETWEEN ? AND ?",from_date,to_date).order(sort_column + " " + sort_direction)
@commissions_report = @commissions_report.as_json
@commissions_report = Kaminari.paginate_array(@commissions_report).page(params[:page]).per(10)
# raise @commissions.inspect
respond_to do |format|
format.html
format.csv { send_data @commissions_report.to_csv }
format.xls #{ send_data @commissions_report.to_csv(col_sep: "\t") }
end
end
Il semble que les mêmes filtres ne sont pas appliqués à l'exportation de données. Vérifiez que :) –