我想Excel导入 从第三行开始读取数据.
java Excel 从第三行开始读取怎么设置,感觉是一个坑.我看了,没有反应.
我设置了:readSheet.createRow(2);//设置java Excel 从第三行开始读取怎么设置没有反应.
但是我换了一个方法.解决了代码:
List<List<String>> lists1 = new ArrayList<List<String>>(); for (int i = 2; i < lists.size(); i++) { lists1.add(lists.get(i)); }
我感觉这一个方法导入Excel读取方便.代码:
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public BaseResult readExcelList(HttpServletRequest request, MultipartFile file) throws IOException { InputStream fIn = file.getInputStream(); HSSFWorkbook readWorkBook; List<List<String>> lists = new ArrayList<List<String>>(); try { readWorkBook = new HSSFWorkbook(fIn); Sheet readSheet = readWorkBook.getSheetAt(0); //readSheet.createRow(2);设置java Excel 从第三行开始读取怎么设置 Iterator<Row> rows = readSheet.iterator(); while (rows.hasNext()) { Row row = rows.next(); List<String> list = new ArrayList<String>(); for (int i = 0; i < row.getLastCellNum(); i++) { Cell cell = row.getCell(i); if (cell == null) { list.add(null); } else if (HSSFCell.CELL_TYPE_NUMERIC == cell.getCellType()) { if (HSSFDateUtil.isCellDateFormatted(cell)) { SimpleDateFormat sf = new SimpleDateFormat(); String date = sf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); list.add(date); } else { list.add(Double.toString(cell.getNumericCellValue())); } } else if (HSSFCell.CELL_TYPE_STRING == cell.getCellType()) { list.add(cell.getStringCellValue()); } else { list.add(cell.toString()); } } lists.add(list); } } catch (IOException e) { } finally { if (fIn != null) { fIn.close(); } } }
你可以直接遍历;List<List<String>> lists = new ArrayList<List<String>>();
for (List<String> list : lists) { String string1 = list.get(1); String string2 = list.get(2); }
获取你Excel对应的值,
扫描二维码关注公众号,回复:
1370847 查看本文章