首页 > 其他 > 详细

大批量信息导出

时间:2020-08-29 00:03:37      阅读:128      评论:0      收藏:0      [点我收藏+]

/**
* 信息导出
*
* @param
* @return
*/
@ResponseBody
@RequestMapping("downcbxx")
public void downcbxx(HttpServletRequest request,HttpServletResponse response,CxjmcbxxDto cxjmcbxxDto) {
//性别
Map aac004map = jmggywCommonQueryService.nTRqueryAa10ForMap("410000", "AAC004", "1");
//民族map
Map aac005map = jmggywCommonQueryService.nTRqueryAa10ForMap("410000", "AAC005", "1");
//居民类别
Map bac061map = jmggywCommonQueryService.nTRqueryAa10ForMap("410000", "BAC061", "1");
//户口性质
Map aac009map = jmggywCommonQueryService.nTRqueryAa10ForMap("410000", "AAC009", "1");
Map bae162map = new HashMap();
bae162map.put("0","未交费");
bae162map.put("1","已缴费");
bae162map.put("2","已退费");
cxjmcbxxDto.setAac004map(aac004map);
cxjmcbxxDto.setAac005map(aac005map);
cxjmcbxxDto.setBac061map(bac061map);
cxjmcbxxDto.setAac009map(aac009map);
cxjmcbxxDto.setBae162map(bae162map);
try {
Long t1 = System.currentTimeMillis();
String sheetName = "参保信息";
String fileNames = URLDecoder.decode(cxjmcbxxDto.getFileName())+cxjmcbxxDto.getAae001()+"年参保信息";
String aie146 = cxjmcbxxDto.getAie146();
if (Aie146Enum.ybjmpljfhd.getCode().equals(aie146)) {
FileUtil.exportBigExcelWithParams(fileNames,sheetName,fileNames,
CxjmcbxxDto.class,cbxxExcelExportService,cxjmcbxxDto,request,response);
} else if (Aie146Enum.dzzxspljfhd.getCode().equals(aie146)) {
String aab004 = URLDecoder.decode(cxjmcbxxDto.getAab004() , "UTF-8");
cxjmcbxxDto.setAab004(aab004);
FileUtil.exportBigExcelWithParams(fileNames,sheetName,fileNames,
DzzxscbxxDto.class,cbxxExcelExportService,cxjmcbxxDto,request,response);
}
Long t2 = System.currentTimeMillis();
RecordLog.busilogger(this.getClass().getName(), "总共耗时:\"",
String.valueOf((t2-t1)/10000)+"秒");
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}

//导出文件设置
public static void exportBigExcel(String title, String sheetName, String fileName, Class<?> pojoClass, IExcelExportServer excelExportServer, HttpServletRequest request, HttpServletResponse response) {
sheetName = StringUtils.isBlank(sheetName) ? "Sheet1" : sheetName;
fileName = StringUtils.isBlank(fileName) ? "新建文件" : fileName;
ModelMap modelMap = getModelMap(title, sheetName, fileName, pojoClass, excelExportServer, (Object)null);
PoiBaseView.render(modelMap, request, response, "easypoiBigExcelView");
}
//导出文件设置(大批量)
public static void exportBigExcelWithParams(String title, String sheetName, String fileName, Class<?> pojoClass, IExcelExportServer excelExportServer, Object queryParams, HttpServletRequest request, HttpServletResponse response) {
sheetName = StringUtils.isBlank(sheetName) ? "Sheet1" : sheetName;
fileName = StringUtils.isBlank(fileName) ? "新建文件" : fileName;
ModelMap modelMap = getModelMap(title, sheetName, fileName, pojoClass, excelExportServer, queryParams);
PoiBaseView.render(modelMap, request, response, "easypoiBigExcelView");
}


//在Controller注入
@Resource(type = GrjbxxcxService.class )
private IExcelExportServer cbxxExcelExportService;
package cn.afterturn.easypoi.handler.inter;

import java.util.List;

/**
* 导出数据接口
* @author JueYue
* 2016年9月8日
*/
public interface IExcelExportServer {
/**
* 查询数据接口
* @param obj 查询条件
* @param page 当前页数
* @return
*/
public List<Object> selectListForExcelExport(Object obj, int page);

}


/**
* 查询和赋值导出数据 在实现层
* @param obj
* @param page
* @return
*/
@Override
public List<Object> selectListForExcelExport(Object obj, int page) {
CxjmcbxxDto cxjmcbxxDtoquery= (CxjmcbxxDto) obj;
List<Object> list = Lists.newArrayList();
Long t1 = System.currentTimeMillis();
PageParam pageParam = new PageParam();
pageParam.setPageSize(50000L);//每次查询的条数
pageParam.setPageIndex(Long.valueOf(page-1));
if(StringUtils.isEmpty(cxjmcbxxDtoquery.getAac147())&&
StringUtils.isEmpty(cxjmcbxxDtoquery.getAab301())&&
StringUtils.isEmpty(cxjmcbxxDtoquery.getAaa027())){
System.out.println("证件号码或行政区划为空!");
return list;
}
//通过社会保障号码查询参保信息
Map jzwqMap = this.getJzwq();
if(jzwqMap.containsKey(cxjmcbxxDtoquery.getAaa027())){
cxjmcbxxDtoquery.setAab301(cxjmcbxxDtoquery.getAaa027());
cxjmcbxxDtoquery.setAaa027("");
}
PageResult pageResult=grjbxxcxDao.queryCxjmjbxx(pageParam,cxjmcbxxDtoquery);
List<CxjmcbxxDto> cxjmcbxxDtos = (List<CxjmcbxxDto>) pageResult.getData();
Long t2 = System.currentTimeMillis();
RecordLog.busilogger(this.getClass().getName(), "t2 查询"+list.size()+"list耗时:\"",
String.valueOf((t2-t1)/10000)+"秒");
for (CxjmcbxxDto cxjmcbxxDto : cxjmcbxxDtos) {
String aac004 = cxjmcbxxDto.getAac004();//性别
String aac005 = cxjmcbxxDto.getAac005();//民族
String bac061 = cxjmcbxxDto.getBac061();//居民类别
String aac009 = cxjmcbxxDto.getAac009();//户口性质
String bae162 = cxjmcbxxDto.getBae162();//缴费标志
if (StringUtils.isNotEmpty(aac004)) {
cxjmcbxxDto.setAac004(cxjmcbxxDtoquery.getAac004map().get(aac004) + "");
}
if (StringUtils.isNotEmpty(aac005)) {
cxjmcbxxDto.setAac005(cxjmcbxxDtoquery.getAac005map().get(aac005) + "");
}
if (StringUtils.isNotEmpty(bac061)) {
cxjmcbxxDto.setBac061(cxjmcbxxDtoquery.getBac061map().get(bac061) + "");
}
if (StringUtils.isNotEmpty(aac009)) {
cxjmcbxxDto.setAac009(cxjmcbxxDtoquery.getAac009map().get(aac009) + "");
}
if (StringUtils.isNotEmpty(bae162)) {
cxjmcbxxDto.setBae162(cxjmcbxxDtoquery.getBae162map().get(bae162) + "");
}
list.add(cxjmcbxxDto);
}

Long t3 = System.currentTimeMillis();
RecordLog.busilogger(this.getClass().getName(), "t3 查询"+list.size()+"list耗时:\"",
String.valueOf((t3-t1)/10000)+"秒");
return list;
}

大批量信息导出

原文:https://www.cnblogs.com/xiaoyuer1229/p/13580357.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!