1.之前是直接利用poi进行全体导出,今天把单行导出在这里记录一下。
2.首先需要获取当前行的信息,选中当前行信息,获取当前行的信息,拿到当前信息的id,根据这个id值,去后台调用相应的数据,这个时候就可以拿到和id值相对应的数据了。
function toOneDownload(){
var checkStatus = table.checkStatus('table1');
var datas = checkStatus.data;
var length = checkStatus.data.length;
if(length!=1){
layer.alert("请选择一行数据");
}else{
var id = datas[0].id;
//layer.alert(id);
layer.confirm('确定导出购买记录?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url : '/tCompanyChargeOrders/getExcelResourceOne/'+id,
success : function(data) {
if(data=='ok'){
layer.msg("导出成功,请及时在桌面查看");
}else{
layer.msg("导出失败");
}
}
});
layer.close(index);
});
}
}
3.利用注解去后台对你传的值进行接收。
@ApiOperation(value="导出单笔信息")
@RequestMapping(value="getExcelResourceOne/{id}")
public String excelResourceOne(HttpServletResponse response,@PathVariable Long id){
System.out.println(id);
调用相应的业务层进行数据调用即可。其他的地方和导入所有数据的方式是差不多甚至是一样的。
4.前台通过json传递多个值
var formdata = $("#form").serializeObject();
var params = '{ "templateParameter": "'+$('#templateParameter').val()+'", "sendNo": "'+$('#sendNo').val()+'","tCompanyChargeOrder":'+JSON.stringify(formdata)+'}';
后台对值进行接收
@PostMapping
@ApiOperation(value = "保存")
public JSONObject save(@RequestBody JSONObject params) {
JSONObject jsonObject = new JSONObject();
boolean check = checkPhoneMsgService.codeCheck(params.get("templateParameter").toString(), params.get("sendNo").toString(),"SendGeneralCode");
TCompanyChargeOrder tCompanyChargeOrder = params.getObject("tCompanyChargeOrder", TCompanyChargeOrder.class);
if (check){
最后进行相应的解析即可。