簡體   English   中英

每次讀取一行/僅讀取特定列並創建對象

[英]Read one row per time / only specific column and create object

我使用Apache poi導入桌面區域中的.xlsx文件。

使用以下代碼,我可以閱讀所需的孔板。

但是我想每次只讀取一行,每行只讀取特定列(例如,我只希望第一行中的A,F和G列並將其保存為對象,然后第二行,第三行等保存為對象)

我該怎么做?

public class main {
        public static void main( String[] args ) throws Exception {
            InputStream ExcelFileToRead = new FileInputStream("C:/User/Desktop/test.xlsx");
            XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead);

            XSSFSheet sheet=wb.getSheetAt(0);
            XSSFRow row;
            XSSFCell cell;

            Iterator rows = sheet.rowIterator();


            while (rows.hasNext())
            {
                row=(XSSFRow) rows.next();
                Iterator cells = row.cellIterator();

                while (cells.hasNext())
                {
                    cell=(XSSFCell) cells.next();

                    if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING)
                    {
                        System.out.print(cell.getStringCellValue()+" ");
                    }
                    else if(cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC)
                    {
                        System.out.print(cell.getNumericCellValue()+" ");
                    }
                    else
                    {
                    }
                }
                System.out.println();
            }
        }
    }

可以使用以下方法從Sheet對象中檢索特定的行:

Sheet.getRow(index)

其中index是從零開始的行號。 也就是說,要讀取第1行,您必須使該行的索引為零,第2行的索引為1,依此類推。 同樣,可以使用以下命令從Row對象中檢索特定單元格

Row.getCell(index)

索引再次是從零開始的單元格編號,其中單元格列A處於索引0,列B處於索引1,依此類推。 因此,要檢索B2處的單元格,可以使用

Cell cell = Sheet.getRow(1).getCell(1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM