[英]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.