我使用 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 行,您必须获取索引 0 处的行,第 2 行位于索引 1 处,依此类推。同样,可以使用
Row
对象中检索特定单元格
Row.getCell(index)
索引再次是从零开始的单元格编号,其中单元格列 A 位于索引 0,列 B 位于索引 1,依此类推。因此,要检索 B2 处的单元格,您可以使用
Cell cell = Sheet.getRow(1).getCell(1);
关于java - 每次读取一行/仅读取特定列并创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37521427/