|
@@ -115,51 +115,90 @@ public class ExcelUtil {
|
|
|
e.printStackTrace();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+
|
|
|
+ if (hssfWorkbook != null) {
|
|
|
+ try {
|
|
|
+ hssfWorkbook.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (is != null) {
|
|
|
+ try {
|
|
|
+ is.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
public static List<IllegalInfoFtpResult> readXlsx(String path) {
|
|
|
- InputStream is;
|
|
|
+ InputStream is = null;
|
|
|
XSSFWorkbook xssfWorkbook = null;
|
|
|
+ IllegalInfoFtpResult manFtpResult = null;
|
|
|
+ List<IllegalInfoFtpResult> list = new ArrayList<>();
|
|
|
+
|
|
|
try {
|
|
|
+
|
|
|
is = new FileInputStream(path);
|
|
|
xssfWorkbook = new XSSFWorkbook(is);
|
|
|
|
|
|
+ // Read the Sheet
|
|
|
+ for (int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++) {
|
|
|
+ XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet);
|
|
|
+ if (xssfSheet == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Read the Row
|
|
|
+ for (int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {
|
|
|
+ XSSFRow xssfRow = xssfSheet.getRow(rowNum);
|
|
|
+ if (xssfRow != null) {
|
|
|
+ manFtpResult = new IllegalInfoFtpResult();
|
|
|
+ XSSFCell traceId = xssfRow.getCell(0);
|
|
|
+ XSSFCell name = xssfRow.getCell(1);
|
|
|
+ XSSFCell idCard = xssfRow.getCell(2);
|
|
|
+ XSSFCell isIdCard = xssfRow.getCell(3);
|
|
|
+ XSSFCell isEscape = xssfRow.getCell(4);
|
|
|
+ XSSFCell isPedigree = xssfRow.getCell(5);
|
|
|
+ XSSFCell isDrugs = xssfRow.getCell(6);
|
|
|
+ manFtpResult.setTraceId(getValue(traceId).toString());
|
|
|
+ manFtpResult.setName(getValue(name).toString());
|
|
|
+ manFtpResult.setIdCard(getValue(idCard).toString());
|
|
|
+ manFtpResult.setIsIdCard(new BigDecimal(getValue(isIdCard).toString()).intValue());
|
|
|
+ manFtpResult.setIsEscape(new BigDecimal(getValue(isEscape).toString()).intValue());
|
|
|
+ manFtpResult.setIsPedigree(new BigDecimal(getValue(isPedigree).toString()).intValue());
|
|
|
+ manFtpResult.setIsDrugs(new BigDecimal(getValue(isDrugs).toString()).intValue());
|
|
|
+ list.add(manFtpResult);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
- }
|
|
|
- IllegalInfoFtpResult manFtpResult = null;
|
|
|
- List<IllegalInfoFtpResult> list = new ArrayList<IllegalInfoFtpResult>();
|
|
|
- // Read the Sheet
|
|
|
- for (int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++) {
|
|
|
- XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet);
|
|
|
- if (xssfSheet == null) {
|
|
|
- continue;
|
|
|
+ } finally {
|
|
|
+
|
|
|
+ if (xssfWorkbook != null) {
|
|
|
+ try {
|
|
|
+ xssfWorkbook.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
- // Read the Row
|
|
|
- for (int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {
|
|
|
- XSSFRow xssfRow = xssfSheet.getRow(rowNum);
|
|
|
- if (xssfRow != null) {
|
|
|
- manFtpResult = new IllegalInfoFtpResult();
|
|
|
- XSSFCell traceId = xssfRow.getCell(0);
|
|
|
- XSSFCell name = xssfRow.getCell(1);
|
|
|
- XSSFCell idCard = xssfRow.getCell(2);
|
|
|
- XSSFCell isIdCard = xssfRow.getCell(3);
|
|
|
- XSSFCell isEscape = xssfRow.getCell(4);
|
|
|
- XSSFCell isPedigree = xssfRow.getCell(5);
|
|
|
- XSSFCell isDrugs = xssfRow.getCell(6);
|
|
|
- manFtpResult.setTraceId(getValue(traceId).toString());
|
|
|
- manFtpResult.setName(getValue(name).toString());
|
|
|
- manFtpResult.setIdCard(getValue(idCard).toString());
|
|
|
- manFtpResult.setIsIdCard(new BigDecimal(getValue(isIdCard).toString()).intValue());
|
|
|
- manFtpResult.setIsEscape(new BigDecimal(getValue(isEscape).toString()).intValue());
|
|
|
- manFtpResult.setIsPedigree(new BigDecimal(getValue(isPedigree).toString()).intValue());
|
|
|
- manFtpResult.setIsDrugs(new BigDecimal(getValue(isDrugs).toString()).intValue());
|
|
|
- list.add(manFtpResult);
|
|
|
+
|
|
|
+ if (is != null) {
|
|
|
+ try {
|
|
|
+ is.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
return list;
|
|
|
}
|
|
|
|
|
@@ -187,6 +226,7 @@ public class ExcelUtil {
|
|
|
}
|
|
|
//输出Excel文件
|
|
|
wb.write(outputStream);
|
|
|
+ wb.close();
|
|
|
outputStream.close();
|
|
|
return null;
|
|
|
}
|