我使用 axlsx ( axlsx_rails 进行模板化)。
我在控制器中有这个:
@project.service 'concursos_xlsx', [
'$resource'
($resource) ->
$resource '/concursos/:id/:action.xlsx', { id: '@id' },
listado_publicaciones:
method: 'POST'
params: action: 'listado_publicaciones'
]
(我稍后会使用JBuilder来避免长@Publicaciones ......)
嗯," listado_publicaciones"首先显示一个html视图,其中使用angular,获取json的发布列表,并且用户可以在生成excel之前丢弃一些项目。 然后用户单击按钮" To Excel"调用angularjs服务:
XHR finished loading: POST "http://localhost:3000/concursos/1/listado_publicaciones.xlsx".
我使用POST,因为我发送了一个$ scope,其中包含我最初在Json上发布的出版物,这是一个非常大的出版物列表和一些其他数据,所以如果我尝试使用GET不会工作因为长篇网址...
然后,同一个控制器" listado_publicaciones"获取参数publicaciones(params [:publicaciones])并响应格式xlsx ...
然后,我的模板名为" listado_publicaciones.xlsx.axlsx"生成excel文件....但我不知道如何下载 ... 如果我查看chrome开发人员工具,我可以看到:
{{1}}
如果我双击那里,我实际上可以下载xlsx文件...但是我不知道如何在点击“#Excel;#Excel"按钮... 我已尝试使用" send_data "," send_file ",但也许我正在使用它们错误的方法... 请帮忙,谢谢!