我使用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();
}
}
}
答案 0 :(得分:1)
可以使用
从Sheet
对象中检索特定行
Sheet.getRow(index)
其中index
是基于零的行号。也就是说,要读取第1行,必须获取索引为零的行,第2行为索引1,依此类推。类似地,可以使用
Row
对象中检索特定单元格
Row.getCell(index)
index再次为基于零的单元格编号,其中单元格列A位于索引0处,列B位于索引1处,依此类推。因此,要在B2处检索Cell,您可以使用
Cell cell = Sheet.getRow(1).getCell(1);