2010-02-03 3 views
7

अपाचे पीओआई एपीआई का उपयोग कर xlsx फ़ाइल पढ़ने पर मुझे अंतिम कॉलम का इंडेक्स कैसे प्राप्त होगा?एक्सेल फ़ाइल पढ़ने वाले अंतिम कॉलम इंडेक्स को कैसे प्राप्त करें?

वहाँ एक getLastRowNum विधि है, लेकिन मैं स्तंभों की संख्या से संबंधित कुछ भी नहीं नहीं मिल सकता है ...


संपादित करें: मैं XLSX फ़ाइलों

उत्तर

17

के साथ काम कर रहा हूँ मुझे लगता है कि आप करेंगे पंक्तियों के माध्यम से पुन: प्रयास करना होगा और उनमें से प्रत्येक पर HSSFRow.getLastCellNum() देखें।

+1

XLSX के लिए केवल एक चीज आप बदलना होगा फ़ाइलें है HSSF एक्सएसएसएफ के लिए। XSSFRow.getLastCellNum() –

3

प्रत्येक पंक्ति की जांच करें और Row.getLastCellNum() पर कॉल करें अधिकतम सेल नंबर अंतिम कॉलम संख्या है।

Row r = sheet.getRow(rowNum); 
int maxCell= r.getLastCellNum(); 
0

अंतिम स्तंभ किसी भी पंक्ति का मूल्य होता है पता करने के लिए प्राप्त करने के लिए, सबसे पहले आप पंक्ति प्राप्त करने की आवश्यकता है और फिर आप अंतिम स्तंभ है कि मूल्य

सिंटेक्स पा सकते हैं:
sheet.getrow (RowNumber) .getLastCellNum();

RowNumber -> पंक्ति संख्या है जिसके लिए आप पिछले स्तंभ मान

0

है कि पता करने के लिए इस समारोह का प्रयास करें चाहते हैं:

private void maxExcelrowcol() { 
    int row, col, maxrow, maxcol; 

    //Put file name here for example filename.xls 
    String filename = "filename.xls"; 
    static String TAG = "ExelLog"; 

    //you can use 'this' in place of context if you want 
    Context context = getApplicationContext(); 

    try { 
     // Creating Input Stream 
     File file = new File(context.getExternalFilesDir(null), filename); 
     FileInputStream myInput = new FileInputStream(file); 

     // Create a POIFSFileSystem object 
     POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput); 

     // Create a workbook using the File System 
     HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem); 

     // Get the first sheet from workbook 
     HSSFSheet mySheet = myWorkBook.getSheetAt(0); 

     //Row iterator 
     Iterator rowIter = mySheet.rowIterator(); 

     while (rowIter.hasNext()) { 
      HSSFRow myRow = (HSSFRow) rowIter.next(); 
      //Cell iterator for iterating from cell to next cell of a row 
      Iterator cellIter = myRow.cellIterator(); 
      while (cellIter.hasNext()) { 
       HSSFCell myCell = (HSSFCell) cellIter.next(); 

       row = myCell.getRowIndex(); 
       col = myCell.getColumnIndex(); 

       if (maxrow < row) { 
        maxrow = row; 
       } 
       if (maxcol < col) { 
        maxcol = col; 
       } 
      } 
     } 
    } catch(FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch(IOException e) { 
     e.printStackTrace(); 
    } 
} 
+0

आपके उत्तर के लिए धन्यवाद। यह बहुत अच्छा होगा अगर आप अपने कोड में कुछ टिप्पणियां भी जोड़ देंगे। यह लोगों को आपके उत्तर को बेहतर समझने में मदद करता है। – hofmeister

संबंधित मुद्दे