在导出时候,ajax实现并不好处理,可以选择用window.open()的方式,后台框架选择poi或者jxl即可,若不是太过复杂的导出选择jxls模板的方式最为方便。
但在处理复杂的导出报表时候我选择是用poi框架写调用poiAPI的方式实现。window.open()传递固定参数或者简单参数时候使用get即默认的方式即可。但若是需要传递比较复杂的json参数,或者是jsonList的参数,并且参数不定时候,用get方式并不好构造参数而且很可能会超出url的长度范围,需要使用post的方式去提交,例如需要传递的参数如下,并且jsonList的数据可以动态增加
[{
"fieldFormat" : "STRING",
"operator" : "IS_NOT",
"specialField" : "status",
"values" : ["DRAFT"]
}, {
"operator" : "LESS_THAN",
"fieldFormat" : "DATE",
"specialField" : "happened_time",
"values" : ["2017-02-21T00:00:00"]
}, {
"operator" : "LESS_THAN_EQUAL",
"fieldFormat" : "DATE",
"specialField" : "opinion_time"