欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java解析excel文件的方法

 更新時間:2017年02月04日 17:20:44   作者:wanghjbuf  
這篇文章主要介紹了java解析excel文件的方法,這里整理相關(guān)的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

建立工程前需要導(dǎo)入POI包。POI相關(guān)jar包下載地址:http://poi.apache.org/download.html

1.解析.xlsx后綴名的的EXCEL文件:

package com.shuai.hello;  
  
import java.io.FileInputStream;  
import java.io.IOException;  
import java.io.InputStream;  
  
import org.apache.poi.hssf.usermodel.HSSFCell;  
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;  
  
public class ReadExcel {  
  public static void main(String[] args) throws IOException {  
      
    //File file = new File("C:/Users.xlsx");  
    InputStream stream = new FileInputStream("C:/Users.xlsx");  
  
    XSSFWorkbook xssfWorkbook = new XSSFWorkbook(stream);  
    XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);  
  
    int rowstart = xssfSheet.getFirstRowNum();  
    int rowEnd = xssfSheet.getLastRowNum();  
    for(int i=rowstart;i<=rowEnd;i++)  
    {  
      XSSFRow row = xssfSheet.getRow(i);  
      if(null == row) continue;  
      int cellStart = row.getFirstCellNum();  
      int cellEnd = row.getLastCellNum();  
  
      for(int k=cellStart;k<=cellEnd;k++)  
      {  
        XSSFCell cell = row.getCell(k);  
        if(null==cell) continue;  
  
  
        switch (cell.getCellType())  
        {  
          case HSSFCell.CELL_TYPE_NUMERIC: // 數(shù)字  
            System.out.print(cell.getNumericCellValue()  
                + "\t");  
            break;  
          case HSSFCell.CELL_TYPE_STRING: // 字符串  
            System.out.print(cell.getStringCellValue()  
                + "\t");  
            break;  
          case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean  
            System.out.println(cell.getBooleanCellValue()  
                + "\t");  
            break;  
          case HSSFCell.CELL_TYPE_FORMULA: // 公式  
            System.out.print(cell.getCellFormula() + "\t");  
            break;  
          case HSSFCell.CELL_TYPE_BLANK: // 空值  
            System.out.println(" ");  
            break;  
          case HSSFCell.CELL_TYPE_ERROR: // 故障  
            System.out.println(" ");  
            break;  
          default:  
            System.out.print("未知類型  ");  
            break;  
        }  
  
      }  
      System.out.print("\n");  
    }  
  }  
}  
 
/*String fileType = filePath.substring(filePath.lastIndexOf(".") + 1, filePath.length()); 
InputStream stream = new FileInputStream(filePath); 
Workbook wb = null; 
if (fileType.equals("xls")) { 
 wb = new HSSFWorkbook(stream); 
} else if (fileType.equals("xlsx")) { 
 wb = new XSSFWorkbook(stream); 
} else { 
 System.out.println("您輸入的excel格式不正確"); 
}*/  

2.解析后綴為.xls的EXCEL文件:

package com.shuai.hello;  
  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.IOException;  
  
import org.apache.poi.hssf.usermodel.HSSFCell;  
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.POIFSFileSystem;  
  
public class ReadXls {  
  public static void main(String[] args) throws IOException, IOException {  
    File file = new File("C:/Users/dengta/Desktop/ok1.xls");  
    POIFSFileSystem poifsFileSystem = new POIFSFileSystem(new FileInputStream(file));  
    HSSFWorkbook hssfWorkbook = new HSSFWorkbook(poifsFileSystem);  
    HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0);  
  
    int rowstart = hssfSheet.getFirstRowNum();  
    int rowEnd = hssfSheet.getLastRowNum();  
    for(int i=rowstart;i<=rowEnd;i++)  
    {  
      HSSFRow row = hssfSheet.getRow(i);  
      if(null == row) continue;  
      int cellStart = row.getFirstCellNum();  
      int cellEnd = row.getLastCellNum();  
  
      for(int k=cellStart;k<=cellEnd;k++)  
      {  
        HSSFCell cell = row.getCell(k);  
        if(null==cell) continue;  
        //System.out.print("" + k + " ");  
        //System.out.print("type:"+cell.getCellType());  
  
        switch (cell.getCellType())  
        {  
          case HSSFCell.CELL_TYPE_NUMERIC: // 數(shù)字  
                  System.out.print(cell.getNumericCellValue()  
                + "  ");  
            break;  
          case HSSFCell.CELL_TYPE_STRING: // 字符串  
            System.out.print(cell.getStringCellValue()  
                + "  ");  
            break;  
          case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean  
            System.out.println(cell.getBooleanCellValue()  
                + "  ");  
            break;  
          case HSSFCell.CELL_TYPE_FORMULA: // 公式  
            System.out.print(cell.getCellFormula() + "  ");  
            break;  
          case HSSFCell.CELL_TYPE_BLANK: // 空值  
            System.out.println(" ");  
            break;  
          case HSSFCell.CELL_TYPE_ERROR: // 故障  
            System.out.println(" ");  
            break;  
          default:  
            System.out.print("未知類型  ");  
            break;  
        }  
  
      }  
      System.out.print("\n");  
    }  
  }  
} 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringMVC上傳和解析Excel方法

    SpringMVC上傳和解析Excel方法

    這篇文章主要介紹了SpringMVC上傳和解析Excel方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • IDEA創(chuàng)建yml文件不顯示小樹葉創(chuàng)建失敗問題的解決方法

    IDEA創(chuàng)建yml文件不顯示小樹葉創(chuàng)建失敗問題的解決方法

    這篇文章主要介紹了IDEA創(chuàng)建yml文件不顯示小樹葉創(chuàng)建失敗問題的解決方法,需要的朋友可以參考下
    2020-07-07
  • 淺談Spring中單例Bean是線程安全的嗎

    淺談Spring中單例Bean是線程安全的嗎

    這篇文章主要介紹了淺談Spring中單例Bean是線程安全的嗎?具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • maven打包失敗踩坑的解決方式詳解

    maven打包失敗踩坑的解決方式詳解

    最近因?yàn)樾马?xiàng)目有很多自定義的jar包,而且占內(nèi)存很多,就直接拷貝過來,新開了一個maven倉庫,用的時候沒有問題,但是打包一直編譯不通過,下面這篇文章主要給大家介紹了關(guān)于maven打包失敗踩坑的解決方式,需要的朋友可以參考下
    2023-05-05
  • SpringBoot如何優(yōu)雅的整合Swagger Api自動生成文檔

    SpringBoot如何優(yōu)雅的整合Swagger Api自動生成文檔

    在多人協(xié)作的開發(fā)過程中,API文檔不僅可以減少等待,也能保證開發(fā)的持續(xù)進(jìn)行,這篇文章主要給大家介紹了關(guān)于SpringBoot如何優(yōu)雅的整合Swagger Api自動生成文檔的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Java ThreadLocal類使用詳解

    Java ThreadLocal類使用詳解

    這篇文章主要介紹了Java ThreadLocal類詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • 最新評論