From 94714af765326bc0567a336952b0811667b7be92 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: 星期三, 27 十月 2021 16:59:27 +0800
Subject: [PATCH] 货柜预警接口:alarm 字典:alarm_type 01 主电掉电,备电工作 显示:名称+地点+柜号+内容
---
src/main/java/com/nanometer/smartlab/util/ExcelUtils.java | 28 ++++++++++++++++------------
1 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/util/ExcelUtils.java b/src/main/java/com/nanometer/smartlab/util/ExcelUtils.java
index ba95396..4ba663e 100644
--- a/src/main/java/com/nanometer/smartlab/util/ExcelUtils.java
+++ b/src/main/java/com/nanometer/smartlab/util/ExcelUtils.java
@@ -3,24 +3,28 @@
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.xssf.streaming.SXSSFRow;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import javax.faces.context.FacesContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class ExcelUtils {
- public static HSSFWorkbook exportExcelNew(Map<String, String> map, List<Map> dataList, String name){
- HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
+ public static SXSSFWorkbook exportExcelNew(Map<String, String> map, List<Map> dataList, String name){
+ SXSSFWorkbook sb = new SXSSFWorkbook(1000);
Integer total = null;
//sheet名字
- HSSFSheet sheet = hssfWorkbook.createSheet(name);
- HSSFRow titlerRow = sheet.createRow(0);
+ SXSSFSheet sheet = sb.createSheet(name);
+ SXSSFRow titlerRow = sheet.createRow(0);
int k = 0;
for(Map.Entry<String, String> entry:map.entrySet()){
@@ -30,7 +34,7 @@
}
//数据
for (int i = 0; i < dataList.size(); i++) {
- HSSFRow dataRow = sheet.createRow(i + 1);
+ SXSSFRow dataRow = sheet.createRow(i + 1);
int j = 0;
for(Map.Entry<String, String> entry:map.entrySet()){
//表头
@@ -41,7 +45,7 @@
- return hssfWorkbook;
+ return sb;
}
@@ -50,7 +54,7 @@
throw new Exception("没有数据可以导出");
}
- ServletOutputStream out = null;
+ OutputStream out = null;
InputStream is = null;
try {
FacesContext ctx = FacesContext.getCurrentInstance();
@@ -62,18 +66,18 @@
StringBuffer contentDisposition = new StringBuffer();
contentDisposition.append("attachment;");
contentDisposition.append("filename=\"");
- contentDisposition.append(name).append(".xls");
+ contentDisposition.append(name).append(".xlsx");
contentDisposition.append("\"");
response.setHeader(
"Content-Disposition",
new String(contentDisposition.toString().getBytes(
System.getProperty("file.encoding")), "ISO8859-1"));
out = response.getOutputStream();
- HSSFWorkbook hssfWorkbook = ExcelUtils.exportExcelNew(map, list, name);
- hssfWorkbook.write(out);
-// out.flush();
+ SXSSFWorkbook sb = ExcelUtils.exportExcelNew(map, list, name);
+ sb.write(out);
+ out.flush();
+ sb.dispose();// 释放workbook所占用的所有windows资源
ctx.responseComplete();
-
} catch (Exception e) {
if (is != null) {
try {
--
Gitblit v1.9.2