Commit 4ce30feac1fb81c746c9cd3776a4c076b742ce61
1 parent
44d8aa83
Exists in
master
fix a bug about excel read
Showing
3 changed files
with
6 additions
and
11 deletions
Show diff stats
build.gradle
src/main/java/com/taover/util/UtilExcel.java
... | ... | @@ -2,7 +2,6 @@ package com.taover.util; |
2 | 2 | |
3 | 3 | import java.io.File; |
4 | 4 | import java.io.FileOutputStream; |
5 | -import java.math.BigDecimal; | |
6 | 5 | import java.text.DecimalFormat; |
7 | 6 | import java.text.SimpleDateFormat; |
8 | 7 | import java.util.ArrayList; |
... | ... | @@ -11,13 +10,11 @@ import java.util.HashMap; |
11 | 10 | import java.util.List; |
12 | 11 | import java.util.Map; |
13 | 12 | |
14 | -import org.apache.poi.hssf.usermodel.HSSFDataFormatter; | |
15 | 13 | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
16 | 14 | import org.apache.poi.openxml4j.util.ZipSecureFile; |
17 | 15 | import org.apache.poi.ss.usermodel.Cell; |
18 | 16 | import org.apache.poi.ss.usermodel.CellStyle; |
19 | 17 | import org.apache.poi.ss.usermodel.CellType; |
20 | -import org.apache.poi.ss.usermodel.DateUtil; | |
21 | 18 | import org.apache.poi.ss.usermodel.FillPatternType; |
22 | 19 | import org.apache.poi.ss.usermodel.Row; |
23 | 20 | import org.apache.poi.ss.usermodel.Sheet; |
... | ... | @@ -416,7 +413,7 @@ public class UtilExcel { |
416 | 413 | if(end > rowLimit){ |
417 | 414 | end = rowLimit; |
418 | 415 | } |
419 | - DecimalFormat df = new DecimalFormat("0"); | |
416 | + DecimalFormat df = new DecimalFormat("0.#"); | |
420 | 417 | for(int i=start; i<end+1; ++i){ |
421 | 418 | Row row = sheet.getRow(i); |
422 | 419 | if(row == null){ |
... | ... | @@ -485,9 +482,7 @@ public class UtilExcel { |
485 | 482 | Date date = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(value); |
486 | 483 | return sdf.format(date); |
487 | 484 | } else { |
488 | - //gaoming 这个是poi自带获取value通用,如果再有问题就用这个试试!!!此处用于获取纯数字和小数类型 | |
489 | - HSSFDataFormatter dataFormatter = new HSSFDataFormatter(); | |
490 | - return dataFormatter.formatCellValue(cell); | |
485 | + return df.format(cell.getNumericCellValue()); | |
491 | 486 | } |
492 | 487 | |
493 | 488 | }else if(currCellType.compareTo(CellType.BOOLEAN) == 0){ | ... | ... |
src/test/java/TempExcel.java
... | ... | @@ -15,13 +15,13 @@ public class TempExcel { |
15 | 15 | public static void checkExcelError() { |
16 | 16 | List<List<Object>> data = null; |
17 | 17 | try { |
18 | - data = UtilExcel.readExcelAllSheet("C:\\Users\\Administrator\\Desktop\\异常Excel\\大文件测试2.xlsx"); | |
18 | + data = UtilExcel.readExcelAllSheet("C:\\Users\\Administrator\\Desktop\\1234.xls"); | |
19 | 19 | } catch (Exception e) { |
20 | 20 | e.printStackTrace(); |
21 | 21 | } |
22 | - System.out.println("end"); | |
22 | + System.out.println("end"+data.get(1).get(10)); | |
23 | 23 | //dealExcel(); |
24 | - readExcel(); | |
24 | + //readExcel(); | |
25 | 25 | } |
26 | 26 | |
27 | 27 | private static void readExcel() { | ... | ... |