Commit ec4344321cddc41e87a887921ae396e2de4a7978

Authored by gaoming
1 parent 711787ac
Exists in master

excel读取数字类型优化

@@ -59,7 +59,7 @@ uploadArchives { @@ -59,7 +59,7 @@ uploadArchives {
59 authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) 59 authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
60 } 60 }
61 pom.project { 61 pom.project {
62 - version '1.1.80' 62 + version '1.1.82'
63 artifactId ARTIFACT_Id 63 artifactId ARTIFACT_Id
64 groupId GROUP_ID 64 groupId GROUP_ID
65 packaging TYPE 65 packaging TYPE
src/main/java/com/taover/util/UtilExcel.java
@@ -2,6 +2,7 @@ package com.taover.util; @@ -2,6 +2,7 @@ package com.taover.util;
2 2
3 import java.io.File; 3 import java.io.File;
4 import java.io.FileOutputStream; 4 import java.io.FileOutputStream;
  5 +import java.math.BigDecimal;
5 import java.text.DecimalFormat; 6 import java.text.DecimalFormat;
6 import java.text.SimpleDateFormat; 7 import java.text.SimpleDateFormat;
7 import java.util.ArrayList; 8 import java.util.ArrayList;
@@ -10,6 +11,7 @@ import java.util.HashMap; @@ -10,6 +11,7 @@ import java.util.HashMap;
10 import java.util.List; 11 import java.util.List;
11 import java.util.Map; 12 import java.util.Map;
12 13
  14 +import org.apache.poi.hssf.usermodel.HSSFDataFormatter;
13 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 15 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
14 import org.apache.poi.ss.usermodel.Cell; 16 import org.apache.poi.ss.usermodel.Cell;
15 import org.apache.poi.ss.usermodel.CellStyle; 17 import org.apache.poi.ss.usermodel.CellStyle;
@@ -461,10 +463,10 @@ public class UtilExcel { @@ -461,10 +463,10 @@ public class UtilExcel {
461 || cell.getCellStyle().getDataFormat()==57 || cell.getCellStyle().getDataFormat()==32 || cell.getCellStyle().getDataFormat()==20) { 463 || cell.getCellStyle().getDataFormat()==57 || cell.getCellStyle().getDataFormat()==32 || cell.getCellStyle().getDataFormat()==20) {
462 // 如果是date类型则 ,获取该cell的date值 464 // 如果是date类型则 ,获取该cell的date值
463 return new SimpleDateFormat("yyyy-MM-dd").format(DateUtil.getJavaDate(cell.getNumericCellValue())); 465 return new SimpleDateFormat("yyyy-MM-dd").format(DateUtil.getJavaDate(cell.getNumericCellValue()));
464 - } else {  
465 - // 纯数字gaoming 新增兼容浮点型,转成字符串读取,不然小数点被省略了  
466 - cell.setCellType(CellType.STRING);  
467 - return UtilString.trimCodePage(cell.getRichStringCellValue().getString()); 466 + } else {
  467 + //gaoming 这个是poi自带获取value通用,如果再有问题就用这个试试!!!
  468 + HSSFDataFormatter dataFormatter = new HSSFDataFormatter();
  469 + return dataFormatter.formatCellValue(cell);
468 } 470 }
469 }else if(currCellType.compareTo(CellType.BOOLEAN) == 0){ 471 }else if(currCellType.compareTo(CellType.BOOLEAN) == 0){
470 return cell.getBooleanCellValue(); 472 return cell.getBooleanCellValue();
@@ -501,7 +503,7 @@ public class UtilExcel { @@ -501,7 +503,7 @@ public class UtilExcel {
501 503
502 public static void main(String args[]){ 504 public static void main(String args[]){
503 //String filepath = "C:\\Users\\root\\Desktop\\千丁-6.27.xlsx"; 505 //String filepath = "C:\\Users\\root\\Desktop\\千丁-6.27.xlsx";
504 - String filepath = "C:\\Users\\EDZ\\Desktop\\mmm.xlsx"; 506 + String filepath = "C:\\Users\\EDZ\\Desktop\\aaa.xlsx";
505 List<List<Object>> data = null; 507 List<List<Object>> data = null;
506 508
507 try { 509 try {