配置统计Excel调整为后台导出

This commit is contained in:
leijun
2019-01-04 16:57:04 +08:00
parent 536a7a0f47
commit 19bb8a916e
5 changed files with 95 additions and 25 deletions

View File

@@ -264,15 +264,15 @@ public class ExcelCsv {
* @param <E>
* @return list 数据列表
*/
public static <E> Map<String, List<String>> setDataList(Properties msgProp, Map<String,List> dataMap, Map<Object,Object> map){
Map<String, List<String>> dataList=new HashMap<String, List<String>>();
public static <E> Map<String,List<List<String>>> setDataList(Properties msgProp, Map<String,List> dataMap, Map<Object,Object> map){
Map<String,List<List<String>>> dataList=new HashMap<String, List<List<String>>>();
Set<String> keyList=dataMap.keySet();
for (String key : keyList) {
List<E> list=dataMap.get(key);
List<String> listT=new ArrayList<String>();
List<List<String>> listT=new ArrayList<List<String>>();
for (E e : list){
int colunm = 0;
StringBuilder sb = new StringBuilder();
List<String> lisb=new ArrayList<String>();
for (Object[] os : annotationMap.get(key)){
ExcelField ef = (ExcelField)os[0];
Object val = null;
@@ -332,16 +332,17 @@ public class ExcelCsv {
log.error("Get entity value failed",ex);
val = "";
}
sb.append(val + "┆~");
lisb.add(String.valueOf(val));
}
listT.add(String.valueOf(sb));
listT.add(lisb);
//listT.add(String.valueOf(sb));
}
dataList.put(key, listT);
}
return dataList;
}
public static <T> void writeCSVFile(HttpServletResponse response,List<String> titleList,Map<String, List<String>> headMap, Map<String, List<String>> dataMap,String fileName,
public static <T> void writeCSVFile(HttpServletResponse response,List<String> titleList,Map<String, List<String>> headMap, Map<String,List<List<String>>> dataMap,String fileName,
String titleTime,Properties msgProp) {
try {
// 写入临时文件
@@ -369,9 +370,9 @@ public class ExcelCsv {
// 写入文件头部
writeHead(heads, cs);
//获取文件内容
List<String> datas=dataMap.get(titleList.get(i));
List<List<String>> datas=dataMap.get(titleList.get(i));
// 写入文件内容
for (String row : datas) {
for (List<String> row: datas) {
writeRow(row, cs);
}
}
@@ -421,12 +422,11 @@ public class ExcelCsv {
csvWriter.newLine();
}
private static <T> void writeRow(String data, BufferedWriter csvWriter) throws Exception {
private static <T> void writeRow(List<String> data, BufferedWriter csvWriter) throws Exception {
// 写入文件内容
//Html 解码
data = Encodes.unescapeHtml(data.toString());
String [] datas=data.split("┆~");
for (String tag : datas) {
for (String tag : data) {
tag = Encodes.unescapeHtml(tag.toString());
StringBuffer sb = new StringBuffer();
if("null".equals(tag.trim())){
tag=null;