java - 每次读取一行/仅读取特定列并创建对象

标签 java excel apache-poi

我使用 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/

相关文章:

Java 存储过程信息的更好方法

excel - Sheets.Select 和 Sheets.Activate 之间有什么区别?

Excel 公式仅显示公式,而不显示 Office 2010 中单元格内的值

java - 专注于excel中的第一个单元格

java - excel 中的日期格式与 apache poi

Java apache poi 设置单元格公式

java - 无法通过Spark 1.6从Parquet Hive表中读取数据

java - Netty channel 和多线程

java - 如何获取 res.drawable 文件夹的路径以复制文件?

vba 查找值,然后将另一个值粘贴到另一列的不同单元格中