提交 64e9354d authored 作者: taojinlong's avatar taojinlong

fix: 精简模式添加 Excel数据集

上级 ccffc4f2
...@@ -25,6 +25,16 @@ public class ExcelXlsReader implements HSSFListener { ...@@ -25,6 +25,16 @@ public class ExcelXlsReader implements HSSFListener {
private int minColums = -1; private int minColums = -1;
public Integer getObtainedNum() {
return obtainedNum;
}
public void setObtainedNum(Integer obtainedNum) {
this.obtainedNum = obtainedNum;
}
private Integer obtainedNum = null;
private POIFSFileSystem fs; private POIFSFileSystem fs;
/** /**
...@@ -331,7 +341,7 @@ public class ExcelXlsReader implements HSSFListener { ...@@ -331,7 +341,7 @@ public class ExcelXlsReader implements HSSFListener {
totalSheets.add(excelSheetData); totalSheets.add(excelSheetData);
}else { }else {
List<String> tmp = new ArrayList<>(cellList); List<String> tmp = new ArrayList<>(cellList);
if(totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().size() < 100){ if(obtainedNum != null && totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().size() < obtainedNum){
totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().add(tmp); totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().add(tmp);
} }
......
...@@ -121,6 +121,15 @@ public class ExcelXlsxReader extends DefaultHandler { ...@@ -121,6 +121,15 @@ public class ExcelXlsxReader extends DefaultHandler {
*/ */
private boolean isDateFormat = false; private boolean isDateFormat = false;
public Integer getObtainedNum() {
return obtainedNum;
}
public void setObtainedNum(Integer obtainedNum) {
this.obtainedNum = obtainedNum;
}
private Integer obtainedNum = null;
public List<TableField> getFields() { public List<TableField> getFields() {
return fields; return fields;
...@@ -181,7 +190,7 @@ public class ExcelXlsxReader extends DefaultHandler { ...@@ -181,7 +190,7 @@ public class ExcelXlsxReader extends DefaultHandler {
*/ */
@Override @Override
public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException {
if(curRow>101){ if(this.obtainedNum !=null && curRow>this.obtainedNum){
return; return;
} }
...@@ -219,7 +228,7 @@ public class ExcelXlsxReader extends DefaultHandler { ...@@ -219,7 +228,7 @@ public class ExcelXlsxReader extends DefaultHandler {
*/ */
@Override @Override
public void characters(char[] ch, int start, int length) throws SAXException { public void characters(char[] ch, int start, int length) throws SAXException {
if(curRow>101){ if(this.obtainedNum !=null && curRow>this.obtainedNum){
return; return;
} }
lastIndex += new String(ch, start, length); lastIndex += new String(ch, start, length);
...@@ -235,7 +244,7 @@ public class ExcelXlsxReader extends DefaultHandler { ...@@ -235,7 +244,7 @@ public class ExcelXlsxReader extends DefaultHandler {
*/ */
@Override @Override
public void endElement(String uri, String localName, String name) throws SAXException { public void endElement(String uri, String localName, String name) throws SAXException {
if(curRow>101){ if(this.obtainedNum !=null && curRow>this.obtainedNum){
return; return;
} }
//t元素也包含字符串 //t元素也包含字符串
......
...@@ -1917,11 +1917,13 @@ public class DataSetTableService { ...@@ -1917,11 +1917,13 @@ public class DataSetTableService {
String suffix = filename.substring(filename.lastIndexOf(".") + 1); String suffix = filename.substring(filename.lastIndexOf(".") + 1);
if (StringUtils.equalsIgnoreCase(suffix, "xls")) { if (StringUtils.equalsIgnoreCase(suffix, "xls")) {
ExcelXlsReader excelXlsReader = new ExcelXlsReader(); ExcelXlsReader excelXlsReader = new ExcelXlsReader();
excelXlsReader.setObtainedNum(100);
excelXlsReader.process(inputStream); excelXlsReader.process(inputStream);
excelSheetDataList = excelXlsReader.totalSheets; excelSheetDataList = excelXlsReader.totalSheets;
} }
if (StringUtils.equalsIgnoreCase(suffix, "xlsx")) { if (StringUtils.equalsIgnoreCase(suffix, "xlsx")) {
ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader(); ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader();
excelXlsxReader.setObtainedNum(100);
excelXlsxReader.process(inputStream); excelXlsxReader.process(inputStream);
excelSheetDataList = excelXlsxReader.totalSheets; excelSheetDataList = excelXlsxReader.totalSheets;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论