forked from github/dataease
fix: 精简模式添加 Excel数据集
This commit is contained in:
parent
ccffc4f2d7
commit
64e9354dbe
@ -25,6 +25,16 @@ public class ExcelXlsReader implements HSSFListener {
|
||||
|
||||
private int minColums = -1;
|
||||
|
||||
public Integer getObtainedNum() {
|
||||
return obtainedNum;
|
||||
}
|
||||
|
||||
public void setObtainedNum(Integer obtainedNum) {
|
||||
this.obtainedNum = obtainedNum;
|
||||
}
|
||||
|
||||
private Integer obtainedNum = null;
|
||||
|
||||
private POIFSFileSystem fs;
|
||||
|
||||
/**
|
||||
@ -331,7 +341,7 @@ public class ExcelXlsReader implements HSSFListener {
|
||||
totalSheets.add(excelSheetData);
|
||||
}else {
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -121,6 +121,15 @@ public class ExcelXlsxReader extends DefaultHandler {
|
||||
*/
|
||||
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() {
|
||||
return fields;
|
||||
@ -181,7 +190,7 @@ public class ExcelXlsxReader extends DefaultHandler {
|
||||
*/
|
||||
@Override
|
||||
public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException {
|
||||
if(curRow>101){
|
||||
if(this.obtainedNum !=null && curRow>this.obtainedNum){
|
||||
return;
|
||||
}
|
||||
|
||||
@ -219,7 +228,7 @@ public class ExcelXlsxReader extends DefaultHandler {
|
||||
*/
|
||||
@Override
|
||||
public void characters(char[] ch, int start, int length) throws SAXException {
|
||||
if(curRow>101){
|
||||
if(this.obtainedNum !=null && curRow>this.obtainedNum){
|
||||
return;
|
||||
}
|
||||
lastIndex += new String(ch, start, length);
|
||||
@ -235,7 +244,7 @@ public class ExcelXlsxReader extends DefaultHandler {
|
||||
*/
|
||||
@Override
|
||||
public void endElement(String uri, String localName, String name) throws SAXException {
|
||||
if(curRow>101){
|
||||
if(this.obtainedNum !=null && curRow>this.obtainedNum){
|
||||
return;
|
||||
}
|
||||
//t元素也包含字符串
|
||||
|
@ -1917,11 +1917,13 @@ public class DataSetTableService {
|
||||
String suffix = filename.substring(filename.lastIndexOf(".") + 1);
|
||||
if (StringUtils.equalsIgnoreCase(suffix, "xls")) {
|
||||
ExcelXlsReader excelXlsReader = new ExcelXlsReader();
|
||||
excelXlsReader.setObtainedNum(100);
|
||||
excelXlsReader.process(inputStream);
|
||||
excelSheetDataList = excelXlsReader.totalSheets;
|
||||
}
|
||||
if (StringUtils.equalsIgnoreCase(suffix, "xlsx")) {
|
||||
ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader();
|
||||
excelXlsxReader.setObtainedNum(100);
|
||||
excelXlsxReader.process(inputStream);
|
||||
excelSheetDataList = excelXlsxReader.totalSheets;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user