导出csv方法

This commit is contained in:
段冬梅
2018-12-16 17:17:01 +08:00
parent 728b87a87c
commit 4a149289ac

View File

@@ -1,6 +1,7 @@
package com.nis.web.controller;
import java.beans.PropertyEditorSupport;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.ParseException;
@@ -27,8 +28,6 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.apache.poi.ss.formula.functions.T;
import org.eclipse.jetty.util.ajax.JSON;
import org.jets3t.service.ServiceException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -48,7 +47,6 @@ import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.basics.AsnIpCfg;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.callback.ProxyObjKeyring;
import com.nis.domain.configuration.AppDomainCfg;
import com.nis.domain.configuration.AppFeatureIndex;
import com.nis.domain.configuration.AppHttpCfg;
@@ -94,7 +92,6 @@ import com.nis.domain.log.BaseLogEntity;
import com.nis.domain.log.SearchReport;
import com.nis.domain.maat.MaatCfg;
import com.nis.domain.maat.ToMaatBean;
import com.nis.domain.maat.ToMaatResult;
import com.nis.domain.maat.MaatCfg.DigestCfg;
import com.nis.domain.maat.MaatCfg.GroupCfg;
import com.nis.domain.maat.MaatCfg.IpCfg;
@@ -110,10 +107,10 @@ import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.DictUtils;
import com.nis.util.FileUtils;
import com.nis.util.JsonMapper;
import com.nis.util.ServiceConfigTemplateUtil;
import com.nis.util.StringUtil;
import com.nis.util.excel.ExcelCsv;
import com.nis.util.excel.ExportExcel;
import com.nis.util.excel.ImportBigExcel;
import com.nis.util.excel.thread.CheckComplexStringFormatThread;
@@ -124,7 +121,6 @@ import com.nis.web.security.UserUtils;
import com.nis.web.service.ArchiveServcie;
import com.nis.web.service.AreaService;
import com.nis.web.service.BaseService;
import com.nis.web.service.CrudService;
import com.nis.web.service.DictService;
import com.nis.web.service.LogService;
import com.nis.web.service.MenuService;
@@ -175,7 +171,6 @@ import com.nis.web.service.specific.SpecificServiceHostCfgService;
import com.nis.web.service.systemService.ServiceConfigInfoService;
import jersey.repackaged.com.google.common.collect.Maps;
import net.sf.json.JSONObject;
public class BaseController {
@@ -1968,6 +1963,37 @@ public class BaseController {
.write(response, fileName).dispose();
}
public void _exportCsv(Model model, HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes, String functionName, List<String> titleList,
Map<String, Class<?>> classMap, Map<String, List> dataMap, Map<String, String> noExportMap)
throws Exception {
// 获取国际化配置
Properties msgProp = getMsgProp();
// 获取分类、性质、标签
List<ServiceDictInfo> fls = serviceDictInfoService.findAllFlDict();
List<ServiceDictInfo> xzs = serviceDictInfoService.findAllXzDict();
List<ServiceDictInfo> labels = serviceDictInfoService.findAllLableDict();
Map<Object, Object> map = new HashMap<Object, Object>();
map.put("fls", fls);
map.put("xzs", xzs);
map.put("labels", labels);
String fileName = msgProp.getProperty(functionName, functionName) + "_" + DateUtils.getDate("yyyyMMddHHmmss")
+ ".csv";
fileName = fileName.replaceAll(" ", "_");
if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {
fileName = URLEncoder.encode(fileName, "UTF-8");
} else {
fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
}
Map<String, List<String>> headMap=ExcelCsv.ExcelCsvHeader(msgProp, titleList, noExportMap, classMap, 1);
Map<String, List<String>> dataList=ExcelCsv.setDataList(msgProp, dataMap, map);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ExcelCsv.writeCSVFile(response,titleList,headMap,dataList,fileName);
}
/**
* 批量审核
* @param isAudit
@@ -1978,8 +2004,6 @@ public class BaseController {
* @return
*/
public void auditAll(Page page,Integer auditType,Object entity)throws Exception {
page.setPageSize(Constants.MAAT_JSON_SEND_SIZE);
page.setOrderBy("");
//携带审核状态信息的BaseCfg
BaseCfg auditBatchCfg=new BaseCfg();
//携带审核条件的BaseCfg
@@ -2224,6 +2248,9 @@ public class BaseController {
/************************多域maat cfg_index_info 处理****************************************/
boolean hasData = true;
while(hasData){
page.setPageSize(Constants.MAAT_JSON_SEND_SIZE);
page.setOrderBy("");
page.setPageNo(1);
List<CfgIndexInfo> list=getDataList(page,searchCfg,null,null,null);
if(!StringUtil.isEmpty(list)){
//配置生效处理 复用全量下发