Merge pull request #717 from dataease/pr@v1.2@excel

fix: 解析excel出错
This commit is contained in:
taojinlong 2021-08-27 17:43:03 +08:00 committed by GitHub
commit 39026784e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 5 deletions

View File

@ -57,13 +57,11 @@ public class ExcelReaderUtil {
ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader();
excelXlsxReader.process(inputStream);
System.out.println(excelXlsxReader.totalSheets.size());
System.out.println(excelXlsxReader.totalSheets.get(1).getExcelLable());
for (TableFiled field : excelXlsxReader.totalSheets.get(1).getFields()) {
System.out.println(excelXlsxReader.totalSheets.get(0).getExcelLable());
for (TableFiled field : excelXlsxReader.totalSheets.get(0).getFields()) {
System.out.println(new Gson().toJson(field));
}
System.out.println(excelXlsxReader.totalSheets.get(0).getData().get(0));
System.out.println(excelXlsxReader.totalSheets.get(0).getData().get(1));
System.out.println(excelXlsxReader.totalSheets.get(0).getData().get(2));
} else {
throw new Exception("文件格式错误fileName的扩展名只能是xls或xlsx。");
@ -71,7 +69,7 @@ public class ExcelReaderUtil {
}
public static void main(String[] args) throws Exception {
String file ="赤收管理 2.xlsx";
String file ="Metersphere_case_DataEase功能用例.xlsx";
ExcelReaderUtil.readExcel(file, new FileInputStream("/Users/taojinlong/Desktop/" + file));
}
}

View File

@ -237,6 +237,14 @@ public class ExcelXlsxReader extends DefaultHandler {
if (isTElement) {//这个程序没经过
//将单元格内容加入rowlist中在这之前先去掉字符串前后的空白符
String value = lastIndex.trim();
if(curRow==1){
TableFiled tableFiled = new TableFiled();
tableFiled.setFieldType("TEXT");
tableFiled.setFieldSize(65533);
tableFiled.setFieldName(value);
tableFiled.setRemarks(value);
this.fields.add(tableFiled);
}
cellList.add(curCol, value);
curCol++;
isTElement = false;
@ -432,6 +440,10 @@ public class ExcelXlsxReader extends DefaultHandler {
}
}
}
if(curCol==1){
System.out.println(type);
System.out.println(nextDataType);
}
return thisStr;
}