POI三种读写cell的循环方式

POI三种读写cell的循环方式

### :

 for(Cell cell : row) {
	 String cellVal = ExcelHelp.readCeall(cell);
	 if(cellVal.equals("")) continue;
	 if(cellVal.equals("Item")) {
		 ExcelHelp.writeCeall(cell,(String)map.get("Item"));
		 continue;
	 }
	 continue;					 
 }

**### for** 	
		 
//			 for(int i=row.getFirstCellNum();i<=row.getLastCellNum();i++) {
//				 Cell cell = row.getCell(i);
//				 String cellVal = ExcelHelp.readCeall(cell);
//				 if(cellVal.equals("")) continue;
//				 if(cellVal.equals("Item")) {
//					 ExcelHelp.writeCeall(cell,(String)map.get("Item"));
//					 continue;
//				 }
//				 continue;				 
//			 }
			 
**### Iterator**			 
//			 Iterator<Cell> cellIterator = row.iterator();
//			 while(cellIterator.hasNext()) {
//				 Cell cell = cellIterator.next();
//				 String cellVal = ExcelHelp.readCeall(cell);
//				 if(cellVal.equals("")) continue;
//				 if(cellVal.equals("Item")) {
//					 ExcelHelp.writeCeall(cell,(String)map.get("Item"));
//					 continue;
//				 }
//				 continue;
//			 }
		 });

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用`org.apache.poi.ss.usermodel.DataFormatter`类将单元格中的数据转换为字符串,这样就可以接受任意类型的数据了。以下是修改后的代码: ``` private static List<ImportViewModel> readExcelFile() { List<ImportViewModel> datas = new ArrayList<>(); FileInputStream inputStream = null; Workbook workbook = null; try { inputStream = new FileInputStream("/sdcard/Template/IC1001.xlsx"); workbook = WorkbookFactory.create(inputStream); Sheet sheet = workbook.getSheetAt(0); Iterator<Row> rowIterator = sheet.rowIterator(); if (rowIterator.hasNext()) { rowIterator.next(); while (rowIterator.hasNext()) { Row row = rowIterator.next(); Iterator<Cell> columnIterator = row.cellIterator(); ImportViewModel importViewModel = new ImportViewModel(); Cell cell = columnIterator.next(); importViewModel.setName("商品名称:" + new DataFormatter().formatCellValue(cell)); cell = columnIterator.next(); importViewModel.setType("商品类型:" + new DataFormatter().formatCellValue(cell)); cell = columnIterator.next(); importViewModel.setStyle("商品款式:" + new DataFormatter().formatCellValue(cell)); cell = columnIterator.next(); importViewModel.setInventoryNum("预期应有库存:" + new DataFormatter().formatCellValue(cell)); datas.add(importViewModel); } } } catch (IOException | InvalidFormatException e) { e.printStackTrace(); } finally { try { if (workbook != null) { workbook.close(); } if (inputStream != null) { inputStream.close(); } } catch (IOException e) { e.printStackTrace(); } } return datas; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值