|
@@ -56,6 +56,10 @@ public class ExcelUtil {
|
|
|
return rowList;
|
|
|
}
|
|
|
|
|
|
+ private static Workbook getExcelWorkBook(InputStream inputStream) throws IOException {
|
|
|
+ return new XSSFWorkbook(inputStream);
|
|
|
+ }
|
|
|
+
|
|
|
private static String fommartNum(String value){
|
|
|
try {
|
|
|
if(isNumeric2(value) && value.contains(".")){
|
|
@@ -72,7 +76,46 @@ public class ExcelUtil {
|
|
|
}
|
|
|
|
|
|
|
|
|
- //获取WorkBook对象
|
|
|
+
|
|
|
+ public static List<HashMap<Integer,String>> getExcelRowList(InputStream inputStream) throws IOException {
|
|
|
+ //行List,也是最终要返回的List
|
|
|
+ List<HashMap<Integer,String>> rowList=new ArrayList<>();
|
|
|
+ Workbook workbook=getExcelWorkBook(inputStream);
|
|
|
+ Sheet sheet = workbook.getSheetAt(0);
|
|
|
+ if (sheet == null) {
|
|
|
+ throw new IOException("创建Sheet失败!");
|
|
|
+ }
|
|
|
+ //开始遍历行
|
|
|
+ for (int i=0;i<= sheet.getLastRowNum();i++){
|
|
|
+ Row row = sheet.getRow(i);
|
|
|
+ //列List
|
|
|
+ HashMap<Integer,String> map = new HashMap<>();
|
|
|
+ if(row == null){
|
|
|
+ rowList.add(map);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //转换为List数组
|
|
|
+ for (int cellNum=0;cellNum<= row.getLastCellNum();cellNum++){
|
|
|
+ Cell cell = row.getCell(cellNum);
|
|
|
+ if (cell != null && cell.getCellTypeEnum() != CellType.STRING && HSSFDateUtil.isCellDateFormatted(cell))
|
|
|
+ {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Date date = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());
|
|
|
+ String value = sdf.format(date);
|
|
|
+ map.put(cellNum,value);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(cell != null){
|
|
|
+ String value = fommartNum(cell.toString().trim());
|
|
|
+ map.put(cellNum,value);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ rowList.add(map);
|
|
|
+ }
|
|
|
+ return rowList;
|
|
|
+ }
|
|
|
+
|
|
|
private static Workbook getExcelWorkBook(MultipartFile multipartFile) throws IOException {
|
|
|
InputStream inputStream=multipartFile.getInputStream();
|
|
|
String originalFileName=multipartFile.getOriginalFilename();
|