最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 中POI 導(dǎo)入EXCEL2003 和EXCEL2007的實現(xiàn)方法

 更新時間:2017年09月08日 15:46:11   作者:夏夜晴空  
這篇文章主要介紹了Java 中POI 導(dǎo)入EXCEL2003 和EXCEL2007的實現(xiàn)方法的相關(guān)資料,希望通過本文大家能掌握理解這種方法,需要的朋友可以參考下

Java 中POI 導(dǎo)入EXCEL2003 和EXCEL2007的實現(xiàn)方法

實現(xiàn)代碼:

import java.io.FileInputStream; 
import java.io.IOException; 
import java.math.BigDecimal; 
import java.text.SimpleDateFormat; 
import java.util.ArrayList; 
import java.util.List; 
 
import org.apache.poi.POIXMLException; 
import org.apache.poi.hssf.usermodel.HSSFCell; 
import org.apache.poi.hssf.usermodel.HSSFDateUtil; 
import org.apache.poi.hssf.usermodel.HSSFRow; 
import org.apache.poi.hssf.usermodel.HSSFSheet; 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
import org.apache.poi.poifs.filesystem.OfficeXmlFileException; 
import org.apache.poi.ss.usermodel.Cell; 
import org.apache.poi.xssf.usermodel.XSSFCell; 
import org.apache.poi.xssf.usermodel.XSSFRow; 
import org.apache.poi.xssf.usermodel.XSSFSheet; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 
 
/** 
 * excel 導(dǎo)入功能 
 * @author lyq 20150312 
 * @version 1.0 
 */ 
public class ExcelUtils { 
   
  public List<Object[]> importExcel(String filePath) throws Exception{ 
    List<Object[]> list=new ArrayList<Object[]>(); 
    String fileType=filePath.substring(filePath.lastIndexOf(".")+1); 
    try { 
      if("xls".equalsIgnoreCase(fileType)){ 
        list= importExcel03(filePath); 
      }else{ 
        list= importExcel07(filePath); 
      } 
    } catch(OfficeXmlFileException e){//通過手動修改文件名 引起的異常 比如 3.xlsx 重命名 3.xls 其實際文件類型為xlsx 
      list=importExcel07(filePath); 
    } catch(POIXMLException e){//通過手動修改文件名 引起的異常 比如 3.xls 重命名 3.xlsx 其實際文件類型為xls 
      list=importExcel03(filePath); 
    } 
    return list; 
  } 
  public List<Object[]> importExcel03(String filePath) throws IOException{ 
    FileInputStream in=new FileInputStream(filePath); 
    List<Object[]> list=new ArrayList<Object[]>(); 
    HSSFWorkbook wb=new HSSFWorkbook(in); 
    HSSFSheet sheet = wb.getSheetAt(0); 
    int rows = sheet.getPhysicalNumberOfRows(); 
    HSSFRow row=sheet.getRow(0); 
    int cells=row.getLastCellNum(); 
    Object[] csr=null; 
    for(int i=1;i<rows;i++){ 
      row=sheet.getRow(i); 
      csr=new String[cells]; 
      for(int j=0;j<cells;j++){ 
        HSSFCell cell=row.getCell(j); 
        Object obj=null; 
        if(cell!=null){ 
          obj=getValue(cell); 
        } 
        csr[j]=obj; 
      } 
      list.add(csr); 
    } 
    if(in!=null)in.close(); 
    return list; 
  } 
  public List<Object[]> importExcel07(String filePath) throws IOException{ 
    List<Object[]> list=new ArrayList<Object[]>(); 
    FileInputStream in=new FileInputStream(filePath); 
    XSSFWorkbook wb=new XSSFWorkbook(in); 
    XSSFSheet sheet = wb.getSheetAt(0); 
    int rows = sheet.getPhysicalNumberOfRows(); 
    XSSFRow row=sheet.getRow(0); 
    int cells=row.getLastCellNum(); 
    Object[] csr=null; 
    for(int i=1;i<rows;i++){ 
      row=sheet.getRow(i); 
      csr=new String[cells]; 
      for(int j=0;j<cells;j++){ 
        XSSFCell cell=row.getCell(j); 
        Object obj=null; 
        if(cell!=null){ 
          obj=getValue(cell); 
        } 
        csr[j]=obj; 
      } 
      list.add(csr); 
    } 
    if(in!=null)in.close(); 
    return list; 
  } 
  @SuppressWarnings("static-access") 
  public String getValue(Cell cell){ 
    int type=cell.getCellType(); 
    String s=""; 
    if(type==cell.CELL_TYPE_NUMERIC){ 
      if(HSSFDateUtil.isCellDateFormatted(cell)){ 
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
        s=sdf.format(cell.getDateCellValue()); 
      }else { 
        BigDecimal db = new BigDecimal(cell.getNumericCellValue()); 
        s=String.valueOf(db); 
      } 
    }else if(type==cell.CELL_TYPE_STRING){ 
      s=cell.getStringCellValue(); 
    }else if(type==cell.CELL_TYPE_BOOLEAN){ 
      s=cell.getBooleanCellValue()+""; 
    }else if(type==cell.CELL_TYPE_FORMULA){ 
      s=cell.getCellFormula(); 
    }else if(type==cell.CELL_TYPE_BLANK){ 
      s=" "; 
    }else if(type==cell.CELL_TYPE_ERROR){ 
      s=" "; 
    }else{ 
       
    } 
    return s.trim(); 
  } 
  /** 
   * @param args 
   */ 
  public static void main(String[] args) { 
    ExcelUtils ex=new ExcelUtils(); 
    try { 
      List<Object[]> list=ex.importExcel("D:\\3.xls"); 
      for(Object[] ss:list){ 
        for(Object s:ss){ 
          System.out.print(s+"\t"); 
        } 
        System.out.println(); 
      } 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
 
} 

注意:

jdk使用版本(影響excel07)

所使用的核心jar如下

poi-3.8-20120326.jar
poi-ooxml-3.8-20120326.jar
poi-ooxml-schemas-3.8-20120326.jar
xmlbeans-2.3.0.jar

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Mybatis中SqlMapper配置的擴(kuò)展與應(yīng)用詳細(xì)介紹(1)

    Mybatis中SqlMapper配置的擴(kuò)展與應(yīng)用詳細(xì)介紹(1)

    這篇文章主要介紹了Mybatis中SqlMapper配置的擴(kuò)展與應(yīng)用(1)的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Java實現(xiàn)FTP上傳到服務(wù)器

    Java實現(xiàn)FTP上傳到服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)FTP上傳到服務(wù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Apache?SkyWalking?修復(fù)TTL?timer?失效bug詳解

    Apache?SkyWalking?修復(fù)TTL?timer?失效bug詳解

    這篇文章主要為大家介紹了Apache?SkyWalking?修復(fù)TTL?timer?失效bug詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 詳解JVM虛擬機(jī)的類加載機(jī)制

    詳解JVM虛擬機(jī)的類加載機(jī)制

    這篇文章主要介紹了詳解JVM虛擬機(jī)的類加載機(jī)制,虛擬機(jī)把描述類的數(shù)據(jù)從 Class 文件加載到內(nèi)存,并對數(shù)據(jù)進(jìn)行校驗、轉(zhuǎn)換解析和初始化,最終形成可以被虛擬機(jī)直接使用的 Java 類型,這就是虛擬機(jī)的類加載機(jī)制,需要的朋友可以參考下
    2023-08-08
  • Spring JDBC的使用方法詳解

    Spring JDBC的使用方法詳解

    這篇文章主要介紹了Spring JDBC的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • 使用Feign調(diào)用注解組件(實現(xiàn)字段賦值功能)

    使用Feign調(diào)用注解組件(實現(xiàn)字段賦值功能)

    這篇文章主要介紹了使用Feign調(diào)用注解組件(實現(xiàn)字段賦值功能),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • feign服務(wù)端發(fā)現(xiàn)異??蛻舳颂幚淼姆椒ń榻B

    feign服務(wù)端發(fā)現(xiàn)異??蛻舳颂幚淼姆椒ń榻B

    這篇文章主要給大家介紹了關(guān)于feign服務(wù)端發(fā)現(xiàn)異??蛻舳颂幚淼姆椒?,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用feign具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Spring獲取當(dāng)前類在容器中的beanname實現(xiàn)思路

    Spring獲取當(dāng)前類在容器中的beanname實現(xiàn)思路

    這篇文章主要介紹了Spring獲取當(dāng)前類在容器中的beanname,實現(xiàn)思路只需繼承BeanNameAware接口,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Java設(shè)計模式之狀態(tài)模式

    Java設(shè)計模式之狀態(tài)模式

    這篇文章介紹了Java設(shè)計模式之狀態(tài)模式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • restTemplate實現(xiàn)跨服務(wù)API調(diào)用方式

    restTemplate實現(xiàn)跨服務(wù)API調(diào)用方式

    這篇文章主要介紹了restTemplate實現(xiàn)跨服務(wù)API調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。
    2023-07-07

最新評論

体育| 蒙自县| 本溪| 哈尔滨市| 台安县| 宁河县| 郑州市| 武陟县| 将乐县| 马关县| 酉阳| 长丰县| 江津市| 历史| 黎川县| 印江| 晋州市| 专栏| 伊金霍洛旗| 衡阳县| 防城港市| 岑巩县| 芦山县| 甘洛县| 湛江市| 襄垣县| 沙河市| 海兴县| 搜索| 天峻县| 松潘县| 天门市| 临泽县| 当雄县| 确山县| 长沙市| 盖州市| 札达县| 南溪县| 绥滨县| 昌都县|