java excel读取一列
我有一个列(B),我需要采取B3和B20之间的所有值
这是我的代码
try { OPCPackage fs; fs = OPCPackage.open(new File(getFilePath())); XSSFWorkbook wb = new XSSFWorkbook(fs); XSSFSheet sheet = wb.getSheet("Master column name - Used Car"); XSSFRow row; CellReference cr = new CellReference("B3"); row = sheet.getRow(4); System.out.println(row);
但正如你所看到的,我得到一个值,我不知道如何获得单元格B3的值,直到B20
你能帮忙吗?
你有尝试更换这一行:
CellReference cr = new CellReference("B3");
有:
AreaReference ar = new AreaReference("B3:B20");
即
AreaReference ar = new AreaReference("B3:B20"); for (cr : ar.getAllReferencedCells()) { System.out.print(cr.formatAsString()); System.out.print(" - "); } System.out.println();
要从Excel中读取某些列或单元格的值,可以试试这个
public static void readFromExcel2(){ try{ FileInputStream file = new FileInputStream(new File("java_excel.xlsx"));//place path of your excel file XSSFWorkbook workbook = new XSSFWorkbook(file); XSSFSheet sheet = workbook.getSheetAt(1);//which sheet you want to read Iterator<Row> rowIterator = sheet.iterator(); while(rowIterator.hasNext()){ Row row = rowIterator.next(); Iterator<Cell> cellIterator = row.cellIterator(); while(cellIterator.hasNext()){ Cell cell = cellIterator.next(); if(cell.getColumnIndex()<2&&(cell.getRowIndex()>=3&&cell.getRowIndex()<=20)) { { switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: System.out.print((int) cell.getNumericCellValue()+" \t" ); break; case Cell.CELL_TYPE_BLANK: System.out.print(" "); break; case Cell.CELL_TYPE_STRING: { System.out.print(cell.getStringCellValue()); } } } } } System.out.println(" "); } file.close(); }catch (Exception e){ e.printStackTrace(); } }
}
- 读取20MB XLSX文件的“OutOfMemoryException”
- 我想安排整个单元格在特定的列,而不是单个单元格
- 如何删除迭代器循环,并允许cellDateType工作在xlsx java?
- 如何在POI API中返回回车
- 如何使用Java中的Apache POI库对数据透视表数据进行sorting
- 使用Apache POI将mysql数据导出到Java
- 如果通过使用JAVA和Apache Poi粘贴添加内容,数据validation不起作用
- 如何解决java.lang.VerifyError:org / apache / poi / xssf / usermodel / XSSFWorkbook?
- Apache POI在复制时更新公式引用