导出Excel表格的两种方法
<
方法一:
1. 引入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
2.定义一个枚举:ExcelSheetSettingEnum(定义Excel的一些配置信息)
public enum ExcelSheetSettingEnum {
REPORT_TEST("report_test", "Excel文件名称", new String[]{"Sheet名称1", "Sheet名称2"}, new String[]{"标题1", "标题2"}, new String[][]{
{"字段名称A", "字段名称B", "字段名称C", "字段名称D"},
{"字段名称A", "字段名称B", "字段名称C", "字段名称D"}
}),
REPORT_TEST2("report_test2", "Excel文件名称", new String[]{"标题1", "标题2"}),
REPORT_TEST3("report_test3", "Excel文件名称")
;
ExcelSheetSettingEnum(String code, String filename) {
this.code = code;
this.filename = filename;
}
ExcelSheetSettingEnum(String code, String filename, String[] titles) {
this.code = code;
this.filename = filename;
this.titles = titles;
}
ExcelSheetSettingEnum(String code, String filename, String[] sheetnames, String[] titles, String[][] headers) {
this.code = code;
this.filename = filename;
this.sheetnames = sheetnames;
this.titles = titles;
this.headers = headers;
}
/** 代码标识(必选) */
private String code;
/** 代码标识(必选) */
private String filename;
/** Sheet名称(可选) */
private String[] sheetnames;
/** Sheet标题(可选) */
private String[] titles;
/** 表头名称(可选) */
private String[][] headers;
// Getter & Setter(自己补充)
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
3.ExcelView
定义Excel视图,继承自AbstractXlsxView或者AbstractXlsView, 需要实现一个abstract方法buildExcelDocument用于创建Sheet,构造Excel数据。
继承关系如下:
/**
* Excel视图
*
* 支持多个Sheet, Sheet名称、标题和表头不是必须的
* AbstractPdfView和AbstractXlsxView原理大致相同
*
* @author mengday zhang
*/
public class ExcelView extends AbstractXlsxView {
@Override
protected void buildExcelDocument(Map<String, Object> map, Workbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception {
ExcelSheetSettingEnum setting = (ExcelSheetSettingEnum) map.get("ExcelSheetSetting");
// 设置文件名称
String filename = setting.getFilename();
filename = new String(filename.getBytes("UTF-8"),"ISO8859-1");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION,"attachment;filename=" + filename + ".xlsx");
List<List<List<String>>> sheets = (List<List<List<String>>>) map.get("data");
for (int i = 0; i < sheets.size(); i++) {
// 创建sheet
String[] sheetNames = setting.getSheetnames();
String sheetName = "Sheet" + (i + 1);
if (sheetNames != null && sheetNames.length > 0) {
sheetName = sheetNames[i];
}
Sheet sheet = workbook.createSheet(sheetName);
// 如果标题不为空的话,将表格的第一行作为标题行,并合并第一行的N个单元格
int index = 0;
String[] titles = setting.getTitles();
String[][] headerss = setting.getHeaders();
List<List<String>> rowsForTable = sheets.get(i);
if (titles != null && titles.length > 0) {
// 合并标题单元格 下标从0开始 起始行号,终止行号, 起始列号,终止列号
CellRangeAddress region = new CellRangeAddress(0, 0, 0, rowsForTable.get(0).size() - 1);
sheet.addMergedRegion(region);
Row titleRow = sheet.createRow(index++);
Cell titleCell = titleRow.createCell(0);
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HorizontalAlignment.CENTER);
Font font = workbook.createFont();
font.setFontName("黑体");
font.setBold(true);
font.setFontHeightInPoints((short) 15);
cellStyle.setFont(font);
titleCell.setCellStyle(cellStyle);
titleCell.setCellValue(titles[i]);
}
// 创建表头行
if (headerss != null && headerss.length > 0) {
Row headerRow = sheet.createRow(index++);
String[] headers = headerss[i];
for(int j = 0; j < headers.length; j++) {
headerRow.createCell(j).setCellValue(headers[j]);
}
}
// 创建数据行
AtomicInteger rowIndex = new AtomicInteger(index);
rowsForTable.forEach(rowList -> {
Row row = sheet.createRow(rowIndex.getAndIncrement());
AtomicInteger x = new AtomicInteger();
rowList.forEach(cell ->
row.createCell(x.getAndIncrement()).setCellValue(cell)
);
});
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
4.controller
mvc方法中方法的返回值是ModelAndView, 当代码执行 new ModelAndView(excelView, map)时会执行 ExcelView#buildExcelDocument的方法
@RestController
@RequestMapping("/excel")
public class ExcelController {
@RequestMapping("/export")
public ModelAndView export(){
List<List<String>> sheet1 = Arrays.asList(
Arrays.asList("1", "11", "111", "1111"),
Arrays.asList("2", "22", "222", "2222"),
Arrays.asList("3", "33", "333", "3333")
);
List<List<String>> sheet2 = Arrays.asList(
Arrays.asList("4", "44", "444", "4444"),
Arrays.asList("5", "55", "555", "5555"),
Arrays.asList("6", "66", "666", "6666")
);
List<List<List<String>>> sheets = Arrays.asList(sheet1, sheet2);
Map<String, Object> map = new HashMap<>();
map.put("ExcelSheetSetting", ExcelSheetSettingEnum.REPORT_TEST2);
map.put("data", sheets);
ExcelView excelView = new ExcelView();
return new ModelAndView(excelView, map);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
效果如下:
方法二
使用easyexcel来做,阿里巴巴开源的一个插件
官网api
github链接
1.导入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
2.如果是java后端导出直接这一步即可,前后端分离,要在前端导出所以先导出在服务器,再下载,这也是目前还没有找到方法解决的一个问题(因为我用了组合形式,后面装二进制流的时候出现了问题,所以目前先下载到服务器再从服务器下载。后面在优化)
/** * 导出Excel表数据(存到服务器上) * @author dzb * @time 2020-05-26 * @throws IOException */ public Map<String,Object> exportExcel(Map<String,Object> param, HttpServletResponse response) throws IOException, ParseException { String uuid = param.get("uuid")+""; String path = "C:\\xxx+".xlsx";//param.get("path")+"";//服务器存储的excel表格路径 Map<String,Object> resultMap = new HashMap<String, Object>(); // 头的策略 WriteCellStyle headWriteCellStyle = new WriteCellStyle(); // 背景设置为白色 headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex()); WriteFont headWriteFont = new WriteFont(); headWriteFont.setFontHeightInPoints((short)13); headWriteCellStyle.setWriteFont(headWriteFont); // 内容的策略 WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); // 这里需要指定 FillPatternType 为FillPatternType.SOLID_FOREGROUND 不然无法显示背景颜色.头默认了 FillPatternType所以可以不指定 //contentWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); // 背景白色 contentWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex()); WriteFont contentWriteFont = new WriteFont(); // 字体大小 contentWriteCellStyle.setWriteFont(contentWriteFont); //设置 自动换行 contentWriteCellStyle.setWrapped(true); //设置 垂直居中 contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // //设置 水平居中 contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
<span class="token comment">// 这个策略是 头是头的样式 内容是内容的样式 其他的策略可以自己实现</span> HorizontalCellStyleStrategy horizontalCellStyleStrategy <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">HorizontalCellStyleStrategy</span><span class="token punctuation">(</span>headWriteCellStyle<span class="token punctuation">,</span> contentWriteCellStyle<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭</span> ExcelWriter excelWriter <span class="token operator">=</span> null<span class="token punctuation">;</span> <span class="token keyword">try</span> <span class="token punctuation">{<!-- --></span> excelWriter <span class="token operator">=</span> EasyExcel<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span>path<span class="token punctuation">,</span> ExcelHeaderInfor<span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">registerWriteHandler</span><span class="token punctuation">(</span>horizontalCellStyleStrategy<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">catch</span> <span class="token punctuation">(</span><span class="token class-name">Exception</span> e<span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> e<span class="token punctuation">.</span><span class="token function">printStackTrace</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> resultMap<span class="token punctuation">.</span><span class="token function">put</span><span class="token punctuation">(</span>ResultType<span class="token punctuation">.</span>SERVER_ERROR<span class="token punctuation">.</span><span class="token function">getCode</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>ResultType<span class="token punctuation">.</span>SERVER_ERROR<span class="token punctuation">.</span><span class="token function">getDescription</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">return</span> resultMap<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// 这里 需要指定写用哪个class去写</span> <span class="token comment">//ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build();</span> <span class="token comment">// 把sheet设置为不需要头 不然会输出sheet的头 这样看起来第一个table 就有2个头了</span> WriteSheet writeSheet <span class="token operator">=</span> EasyExcel<span class="token punctuation">.</span><span class="token function">writerSheet</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>GENERAL_TABLE<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">needHead</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">.</span>FALSE<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> WriteSheet writeSheet1 <span class="token operator">=</span> EasyExcel<span class="token punctuation">.</span><span class="token function">writerSheet</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>BAI_DU<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">needHead</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">.</span>FALSE<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> WriteSheet writeSheet2 <span class="token operator">=</span> EasyExcel<span class="token punctuation">.</span><span class="token function">writerSheet</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>SO_GOU<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">needHead</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">.</span>FALSE<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> WriteSheet writeSheet3 <span class="token operator">=</span> EasyExcel<span class="token punctuation">.</span><span class="token function">writerSheet</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>QI_HOO<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">needHead</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">.</span>FALSE<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> WriteSheet writeSheet4 <span class="token operator">=</span> EasyExcel<span class="token punctuation">.</span><span class="token function">writerSheet</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>XIN_LAN<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">needHead</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">.</span>FALSE<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 这里必须指定需要头,table 会继承sheet的配置,sheet配置了不需要,table 默认也是不需要</span> LoopMergeStrategy1 loopMergeStrategy <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">LoopMergeStrategy1</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span> WriteTable writeTable0 <span class="token operator">=</span> EasyExcel<span class="token punctuation">.</span><span class="token function">writerTable</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">needHead</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">.</span>FALSE<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">registerWriteHandler</span><span class="token punctuation">(</span>loopMergeStrategy<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> WriteTable writeTable1 <span class="token operator">=</span> EasyExcel<span class="token punctuation">.</span><span class="token function">writerTable</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">needHead</span><span class="token punctuation">(</span>Boolean<span class="token punctuation">.</span>TRUE<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> List<span class="token operator"><</span><span class="token operator">?</span> <span class="token keyword">extends</span> <span class="token class-name">Map</span><span class="token operator">></span> result <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token operator"><</span>Map<span class="token generics function"><span class="token punctuation"><</span>String<span class="token punctuation">,</span> Object<span class="token punctuation">></span></span><span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> result <span class="token operator">=</span> <span class="token function">searchIntradayByPage</span><span class="token punctuation">(</span>param<span class="token punctuation">)</span><span class="token punctuation">;</span> List<span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span> generalTableData <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> List<span class="token generics function"><span class="token punctuation"><</span>ExcelBaiduHeaderInfor<span class="token punctuation">></span></span> baiduData <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics function"><span class="token punctuation"><</span>ExcelBaiduHeaderInfor<span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> List<span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span> xinLanData <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> List<span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span> qiHooData <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> List<span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span> sogouData <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">for</span><span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>i <span class="token operator"><</span> result<span class="token punctuation">.</span><span class="token function">size</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>i<span class="token operator">++</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span> String engine <span class="token operator">=</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"engine"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">;</span> ExcelHeaderInfor excelHeaderInfor <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ExcelHeaderInfor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> Long crawlTime <span class="token operator">=</span> Long<span class="token punctuation">.</span><span class="token function">parseLong</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"crawlTime"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> String crawlTime2 <span class="token operator">=</span> JsonUtil<span class="token punctuation">.</span><span class="token function">getTimestampConversion</span><span class="token punctuation">(</span>crawlTime<span class="token punctuation">)</span><span class="token punctuation">;</span> excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setWatchTime</span><span class="token punctuation">(</span>crawlTime2<span class="token punctuation">)</span><span class="token punctuation">;</span> excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setSearchEngine</span><span class="token punctuation">(</span>engine<span class="token punctuation">)</span><span class="token punctuation">;</span> excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setPage</span><span class="token punctuation">(</span><span class="token string">"第"</span><span class="token operator">+</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"whichPage"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"页"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setKeyword</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setLink</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"detailUrl"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// excelHeaderInfor.setSnapshoot("http://www.seo945.com/xianhuo/snapshoot/45065.html");</span> excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setTitel</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"title"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setWebsite</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"website"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> generalTableData<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>excelHeaderInfor<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">switch</span> <span class="token punctuation">(</span>engine<span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span> <span class="token keyword">case</span> Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>BAI_DU<span class="token operator">:</span> ExcelBaiduHeaderInfor excelBaiduHeaderInfor <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ExcelBaiduHeaderInfor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setWatchTime</span><span class="token punctuation">(</span>crawlTime2<span class="token punctuation">)</span><span class="token punctuation">;</span> excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setSearchEngine</span><span class="token punctuation">(</span>engine<span class="token punctuation">)</span><span class="token punctuation">;</span> excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setPage</span><span class="token punctuation">(</span><span class="token string">"第"</span><span class="token operator">+</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"whichPage"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"页"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setKeyword</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setLink</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"detailUrl"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setSnapshoot</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"snapshoot"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setTitel</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"title"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setWebsite</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"website"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span> baiduData<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>excelBaiduHeaderInfor<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">break</span><span class="token punctuation">;</span> <span class="token keyword">case</span> Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>XIN_LAN<span class="token operator">:</span> xinLanData<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>excelHeaderInfor<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">break</span><span class="token punctuation">;</span> <span class="token keyword">case</span> Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>QI_HOO<span class="token operator">:</span> qiHooData<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>excelHeaderInfor<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">break</span><span class="token punctuation">;</span> <span class="token keyword">case</span> Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>SO_GOU<span class="token operator">:</span> sogouData<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>excelHeaderInfor<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">break</span><span class="token punctuation">;</span> <span class="token keyword">default</span><span class="token operator">:</span> <span class="token keyword">break</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token comment">// 第一次写入会创建头</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token function">keywordsSummary</span><span class="token punctuation">(</span>param<span class="token punctuation">,</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">,</span> writeSheet<span class="token punctuation">,</span> writeTable0<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第二次写如也会创建头,然后在第一次的后面写入数据</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span>generalTableData<span class="token punctuation">,</span> writeSheet<span class="token punctuation">,</span> writeTable1<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第一次写入会创建头</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token function">keywordsSummary</span><span class="token punctuation">(</span>param<span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">,</span> writeSheet1<span class="token punctuation">,</span> writeTable0<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第二次写如也会创建头,然后在第一次的后面写入数据</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span>baiduData<span class="token punctuation">,</span> writeSheet1<span class="token punctuation">,</span> writeTable1<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第一次写入会创建头</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token function">keywordsSummary</span><span class="token punctuation">(</span>param<span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">,</span> writeSheet2<span class="token punctuation">,</span> writeTable0<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第二次写如也会创建头,然后在第一次的后面写入数据</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span>xinLanData<span class="token punctuation">,</span> writeSheet2<span class="token punctuation">,</span> writeTable1<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第一次写入会创建头</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token function">keywordsSummary</span><span class="token punctuation">(</span>param<span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">,</span> writeSheet3<span class="token punctuation">,</span> writeTable0<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第二次写如也会创建头,然后在第一次的后面写入数据</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span>qiHooData<span class="token punctuation">,</span> writeSheet3<span class="token punctuation">,</span> writeTable1<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第一次写入会创建头</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span><span class="token function">keywordsSummary</span><span class="token punctuation">(</span>param<span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">,</span> writeSheet4<span class="token punctuation">,</span> writeTable0<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 第二次写如也会创建头,然后在第一次的后面写入数据</span> excelWriter<span class="token punctuation">.</span><span class="token function">write</span><span class="token punctuation">(</span>sogouData<span class="token punctuation">,</span> writeSheet4<span class="token punctuation">,</span> writeTable1<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">/// 千万别忘记finish 会帮忙关闭流</span> excelWriter<span class="token punctuation">.</span><span class="token function">finish</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//从服务器下载excel表格</span> <span class="token function">exportVehicleInfo</span><span class="token punctuation">(</span>response<span class="token punctuation">,</span>path<span class="token punctuation">,</span>uuid<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">delete</span><span class="token punctuation">(</span>path<span class="token punctuation">)</span><span class="token punctuation">;</span> resultMap<span class="token punctuation">.</span><span class="token function">put</span><span class="token punctuation">(</span><span class="token string">"success"</span><span class="token punctuation">,</span><span class="token string">"导出数据成功!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">return</span> resultMap<span class="token punctuation">;</span> <span class="token punctuation">}</span>
/**
* 舆情总表关键词汇总
* @param param
* @param choose 0:舆情总表 1:百度 2、新浪 3、360 4、搜狗
* @return 所有关键词
* @throws IOException
* @throws ParseException
*/
private List<ExcelHeaderInfor> keywordsSummary(Map<String,Object> param,Integer choose) throws IOException, ParseException {
List<? extends Map> result = new ArrayList<Map<String, Object>>();
result = searchIntradayByPage(param);
String aa = null;
for(int i = 0;i < result.size();i++){
ExcelHeaderInfor excelHeaderInfor = new ExcelHeaderInfor();
excelHeaderInfor.setKeyword(result.get(i).get(“keyWords”)+"");
String engine = result.get(i).get(“engine”)+"";
switch (choose){
case 0:
if(StrUtil.isNotEmpty(aa)){
boolean flag = aa.contains(result.get(i).get(“keyWords”)+"");
if(flag){
<span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> aa <span class="token operator">+</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token keyword">else</span> <span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">break</span><span class="token punctuation">;</span>
<span class="token keyword">case</span> <span class="token number">1</span><span class="token operator">:</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>engine<span class="token punctuation">.</span><span class="token function">equals</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>BAI_DU<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
ExcelBaiduHeaderInfor excelBaiduHeaderInfor <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ExcelBaiduHeaderInfor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
excelBaiduHeaderInfor<span class="token punctuation">.</span><span class="token function">setKeyword</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>StrUtil<span class="token punctuation">.</span><span class="token function">isNotEmpty</span><span class="token punctuation">(</span>aa<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token keyword">boolean</span> flag <span class="token operator">=</span> aa<span class="token punctuation">.</span><span class="token function">contains</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>flag<span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> aa <span class="token operator">+</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token keyword">else</span> <span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">break</span><span class="token punctuation">;</span>
<span class="token keyword">case</span> <span class="token number">2</span><span class="token operator">:</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>engine<span class="token punctuation">.</span><span class="token function">equals</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>XIN_LAN<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setKeyword</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>StrUtil<span class="token punctuation">.</span><span class="token function">isNotEmpty</span><span class="token punctuation">(</span>aa<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token keyword">boolean</span> flag <span class="token operator">=</span> aa<span class="token punctuation">.</span><span class="token function">contains</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>flag<span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> aa <span class="token operator">+</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token keyword">else</span> <span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">break</span><span class="token punctuation">;</span>
<span class="token keyword">case</span> <span class="token number">3</span><span class="token operator">:</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>engine<span class="token punctuation">.</span><span class="token function">equals</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>QI_HOO<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setKeyword</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>StrUtil<span class="token punctuation">.</span><span class="token function">isNotEmpty</span><span class="token punctuation">(</span>aa<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token keyword">boolean</span> flag <span class="token operator">=</span> aa<span class="token punctuation">.</span><span class="token function">contains</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>flag<span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> aa <span class="token operator">+</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token keyword">else</span> <span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">break</span><span class="token punctuation">;</span>
<span class="token keyword">case</span> <span class="token number">4</span><span class="token operator">:</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>engine<span class="token punctuation">.</span><span class="token function">equals</span><span class="token punctuation">(</span>Constants<span class="token punctuation">.</span>ExcelName<span class="token punctuation">.</span>SO_GOU<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
excelHeaderInfor<span class="token punctuation">.</span><span class="token function">setKeyword</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>StrUtil<span class="token punctuation">.</span><span class="token function">isNotEmpty</span><span class="token punctuation">(</span>aa<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token keyword">boolean</span> flag <span class="token operator">=</span> aa<span class="token punctuation">.</span><span class="token function">contains</span><span class="token punctuation">(</span>result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>flag<span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
<span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> aa <span class="token operator">+</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token keyword">else</span> <span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> result<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span><span class="token string">"keyWords"</span><span class="token punctuation">)</span><span class="token operator">+</span><span class="token string">"、"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">break</span><span class="token punctuation">;</span>
<span class="token keyword">default</span><span class="token operator">:</span>
<span class="token keyword">break</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
List<span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span> list <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token generics function"><span class="token punctuation"><</span>ExcelHeaderInfor<span class="token punctuation">></span></span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>StrUtil<span class="token punctuation">.</span><span class="token function">isNotEmpty</span><span class="token punctuation">(</span>aa<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>
aa <span class="token operator">=</span> aa<span class="token punctuation">.</span><span class="token function">substring</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span>aa<span class="token punctuation">.</span><span class="token function">length</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> <span class="token number">2</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span>
ExcelHeaderInfor data <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ExcelHeaderInfor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
data<span class="token punctuation">.</span><span class="token function">setWatchTime</span><span class="token punctuation">(</span>aa<span class="token punctuation">)</span><span class="token punctuation">;</span>
list<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> list<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
3.Constant常量类
/**
* 搜索引擎的名称
*/
public static final class ExcelName{
public static final String GENERAL_TABLE="舆情处理总表";
public static final String BAI_DU="百度";
public static final String SO_GOU="搜狗";
public static final String QI_HOO="360";
public static final String XIN_LAN="新浪";
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
4.下载并把服务器上的删除
/** * 从服务器上导出用户excel表 * @author dzb * @time 2020-05-26 * @param resp * @param path */ public void exportVehicleInfo(HttpServletResponse resp,String path,String uuid) { DataInputStream in = null; OutputStream out = null; try{ resp.reset();// 清空输出流 String resultFileName = uuid+".xlsx";//filename + System.currentTimeMillis() + ".xlsx"; resultFileName = URLEncoder.encode(resultFileName,"UTF-8"); resp.setCharacterEncoding("UTF-8"); resp.setHeader("Content-disposition", "attachment; filename=" + resultFileName);// 设定输出文件头 resp.setContentType("application/msexcel");// 定义输出类型 //输入流:本地文件路径 in = new DataInputStream( new FileInputStream(new File(path))); //输出流 out = resp.getOutputStream(); //输出文件 int bytes = 0; byte[] bufferOut = new byte[1024]; while ((bytes = in.read(bufferOut)) != -1) { out.write(bufferOut, 0, bytes); } } catch(Exception e){ e.printStackTrace(); resp.reset(); try { OutputStreamWriter writer = new OutputStreamWriter(resp.getOutputStream(), "UTF-8"); writer.write("系统异常"); writer.close(); } catch (IOException e1) { e1.printStackTrace(); } }finally { if(null != in) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } if(null != out) { try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } }
<span class="token comment">/** * 用户下载完excel表后将服务器上的excel表进行删除 * @author dzb * @time 2020-05-26 * @param path */</span> <span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">delete</span><span class="token punctuation">(</span>String path<span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span> File delFile <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">File</span><span class="token punctuation">(</span>path<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span>delFile<span class="token punctuation">.</span><span class="token function">isFile</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">&&</span> delFile<span class="token punctuation">.</span><span class="token function">exists</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span> <span class="token keyword">boolean</span> a <span class="token operator">=</span> delFile<span class="token punctuation">.</span><span class="token function">delete</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
5.效果: