真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java如何利用POI讀取Excel行數(shù)-創(chuàng)新互聯(lián)

這篇文章主要介紹了java如何利用POI讀取Execel行數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了高縣免費(fèi)建站歡迎大家使用!

java 利用poi 讀excel文件的操作,讀取總的數(shù)據(jù)行數(shù)一般是通過(guò)調(diào)用 sheet.getLastRowNum() ;可是這樣有時(shí)候會(huì)出現(xiàn)一些問(wèn)題,例如,當(dāng)其中一行的數(shù)據(jù)的確都為空,可是其原本的格式還在,并沒有連帶刪除,這樣計(jì)算出來(lái)的行數(shù)就不真實(shí)(比真實(shí)的大),還有當(dāng)出現(xiàn)空白行時(shí)(也即某一行沒有任何數(shù)據(jù),通過(guò)Row row = sheet.getRow(i) 返回的row值為null),計(jì)算出來(lái)的值也不正確。

本人自己寫了一個(gè)方法來(lái)對(duì)excel表進(jìn)行過(guò)濾,將那些沒有意義的行刪掉,之后再調(diào)用sheet.getLastRowNum() 得到的值就是正確的了。

說(shuō)明一下,本程序是結(jié)合自己項(xiàng)目的需求編寫的,對(duì)于那些空白行有意義的excel文件來(lái)說(shuō),本文不存在參考價(jià)值。

package test; 
  
import java.io.FileInputStream; 
  
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
import org.apache.poi.hssf.util.CellReference; 
import org.apache.poi.ss.usermodel.Cell; 
import org.apache.poi.ss.usermodel.Row; 
import org.apache.poi.ss.usermodel.Sheet; 
import org.apache.poi.ss.usermodel.Workbook; 
  
public class test2{ 
  public static void main(String[] args) { 
    Workbook wb = null; 
    try { 
      wb = new HSSFWorkbook(new FileInputStream("E:\\Workspaces\\testdata\\倉(cāng)庫(kù)數(shù)據(jù).xls")); 
    } catch (Exception e) { 
       // 
    } 
    Sheet sheet = wb.getSheetAt(0); 
    CellReference cellReference = new CellReference("A4"); 
    boolean flag = false; 
    System.out.println("總行數(shù):"+(sheet.getLastRowNum()+1)); 
    for (int i = cellReference.getRow(); i <= sheet.getLastRowNum();) { 
      Row r = sheet.getRow(i); 
      if(r == null){ 
        // 如果是空行(即沒有任何數(shù)據(jù)、格式),直接把它以下的數(shù)據(jù)往上移動(dòng) 
        sheet.shiftRows(i+1, sheet.getLastRowNum(),-1); 
        continue; 
      } 
      flag = false; 
      for(Cell c:r){ 
        if(c.getCellType() != Cell.CELL_TYPE_BLANK){ 
          flag = true; 
          break; 
        } 
      } 
      if(flag){ 
        i++; 
        continue; 
      } 
      else{//如果是空白行(即可能沒有數(shù)據(jù),但是有一定格式) 
        if(i == sheet.getLastRowNum())//如果到了最后一行,直接將那一行remove掉 
          sheet.removeRow(r); 
        else//如果還沒到最后一行,則數(shù)據(jù)往上移一行 
          sheet.shiftRows(i+1, sheet.getLastRowNum(),-1); 
      } 
    } 
    System.out.println("總行數(shù):"+(sheet.getLastRowNum()+1)); 
  } 
    
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前題目:Java如何利用POI讀取Excel行數(shù)-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://weahome.cn/article/depjhs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部