Grails 第一次尝试导出excel时出错
这是我导出excel的代码。当我点击导出按钮时。它显示失败的网络错误。 如果我继续下载,它将被下载 这是错误:Grails 第一次尝试导出excel时出错,grails,export,Grails,Export,这是我导出excel的代码。当我点击导出按钮时。它显示失败的网络错误。 如果我继续下载,它将被下载 这是错误:java.lang.IllegalStateException:getOutputStream()已为此响应调用 请帮助我解决此问题。您无法将附件数据写入输出流,然后呈现索引视图;尝试将视图呈现到已将附件发送到的同一输出流。如果删除呈现索引视图的行,则代码应按预期工作 如果您需要在浏览器中生成附件/下载并移动到另一个视图,则需要发送两个请求。我无法更新您的答案,因为我的声誉很低。如果
java.lang.IllegalStateException:getOutputStream()已为此响应调用
请帮助我解决此问题。您无法将附件数据写入输出流,然后呈现索引视图;尝试将视图呈现到已将附件发送到的同一输出流。如果删除呈现索引视图的行,则代码应按预期工作
如果您需要在浏览器中生成附件/下载并移动到另一个视图,则需要发送两个请求。我无法更新您的答案,因为我的声誉很低。如果你对我的问题投赞成票,我将对你的答案投反对票。
def exportExcel(){
if(!params.max) params.max = 10
if(params?.type && params.type != "html"){
response.contentType = grailsApplication.config.grails.mime.types[params.type]
response.setHeader("Content-disposition", "attachment; filename=agents.${params.extension}")
List fields = ["orgTypeId", "name"]
Map labels = ["orgTypeId":"DP Id", "name":"Name"]
def upperCase = { domain, value ->
return value.toUpperCase()
}
Map parameters = [title: "Agent List", "column.widths":[0.15, 0.4]]
Map formatters = [name: upperCase]
exportService.export(params.type, response.outputStream, Agent.list(params), fields, labels, formatters, parameters)
}
render(view: 'index',model: [organizationTypeCount: Agent.count(), organizationType: Agent.list(params)])
}