pom.xml↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>
controller↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
@RequestMapping("export")
public void exportExcel(HttpServletRequest request, HttpServletResponse response,String selectDateL,String selectDateR,String orderCode,Long storeId) throws IOException{
PageInfo<IncomeInfo> page = incomeInfoService.selectIncomeBySearch(999999, 1, selectDateL,selectDateR,orderCode,storeId);
ServletOutputStream out = response.getOutputStream();
List<IncomeInfo> incomeInfoList = page.getList();
// 文件名
String fileName = new String("交易记录.csv".getBytes("UTF-8"), "ISO-8859-1");
request.getHeader("User-Agent");
response.setCharacterEncoding(request.getCharacterEncoding());
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
CsvWriter write = new CsvWriter(out, ',', Charset.forName("gb2312"));
write.setForceQualifier(true);
//设置表头
write.writeRecord(new String[] {"","店铺ID","店铺名称", "创建时间", "订单编号", "下单时间", "订单金额", "消费用户", "订单状态" });
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//遍历数据集合
for(int index=0;index<incomeInfoList.size();index++) {
IncomeInfo incomeInfo = incomeInfoList.get(index);
String createDate = incomeInfo.getCreateDate() != null ? sdf.format(incomeInfo.getCreateDate()) : "";
String csv_storeName = incomeInfo.getStoreName() != null ? incomeInfo.getStoreName().toString() : "";
String orderAmount = incomeInfo.getOrderAmount() != null ? incomeInfo.getOrderAmount().toString() : "";
String userName = incomeInfo.getUserName() != null ? incomeInfo.getUserName().toString() : "";
String orderStatus = incomeInfo.getOrderStatus() != null ? incomeInfo.getOrderStatus().toString() : "";
String settleDate = incomeInfo.getSettleDate() != null ? sdf.format(incomeInfo.getSettleDate()) : "";
String csv_storeId = storeId != null ? storeId.toString().toString() : "";
String csv_orderCode = incomeInfo.getOrderCode() != null ? incomeInfo.getOrderCode().toString() : "";
String[] writeArr = { String.valueOf(index + 1), csv_storeId,csv_storeName,
createDate,csv_orderCode, settleDate,orderAmount,userName,orderStatus.replaceAll("[(|)]", "") };
try {
write.writeRecord(writeArr);
} catch (IOException e) {
e.printStackTrace();
}
}
write.flush();
write.close();
response.flushBuffer();
}
第一次写博客,只是简单的将代码复制过来!
前端js
$("#export").on('click',function export1(){
var param=getEditFormData();
alert("导出");
/*storeId : $("#storeId").val(),
selectDateL : $("#startId").val(),
selectDateR : $("#endId").val(),
orderCode : $("#orderId").val()*/
var storeId = $("#storeId").val();
var selectDateL = $("#startId").val();
var selectDateR = $("#endId").val();
var orderCode = $("#orderId").val();
console.log("1231:"+storeId,selectDateL,selectDateR);
if(storeId != null && selectDateL != null && selectDateR != null){
location.href="export?storeId="+storeId+"&selectDateL="+selectDateL+"&selectDateR="+selectDateR+"orderCode="+orderCode;
}
})
在这里踩过一个坑,就是别用$post()请求,否则绑定事件以后怎么都请求不到,具体原因后期在研究吧,先把功能实现了再说,时间紧迫