我正在制作一个调查应用程序,我需要将数据导出到 Excel。我添加了一个.xls
mime 类型,并且我有一个名为的视图results.xls.slim
,其中包含一个 html 表。
我的控制器如下所示:
# GET /survey_groups/1/results
def results
@survey_group = get_survey_group
@survey = @survey_group.survey
@questions = @survey.questions
@members = @survey_group.members
organisation = @survey_group.organisation
respond_to do |format|
# http://stackoverflow.com/questions/11627291/rails-excel-mime-type-how-to-change-default-filename
format.xls { headers['Content-Disposition'] = "attachment; filename=\"#{ organisation.name } - Survey Group Results\"" }
end
end
单击链接导出到 Excel 时的问题
= link_to('Excel', survey_results_path(@organisation.id, @survey_group.id, format: 'xls'))
结果首先在浏览器中呈现(请参见下面的屏幕截图)。只有当我按 F5 时,我才能按预期获得可下载的文件。
如果有人想知道,Excel 会呈现基本的 html 并以某种方式对其进行转换,因此您仍然可以使用公式等(这使得导出表格数据非常方便,无需互操作库等)。
我只希望下载结果,而不是在浏览器中呈现。