zoukankan      html  css  js  c++  java
  • POI操作Excel的API注意点总结

    本篇是关于POI.jar操作Excel的API注意事项

    基数问题

    说明:我使用的是POI 3.15版本的,在版本问题上建议大家,在版本稳定的基础上尽量使用高版本的

    看过很多帖子在问一个问题:假设原来有5行,删除最后一行之后,再获取还是5行的问题,我使用的这个版本没出现这样的问题,大家也可以使用我这个版本(哈哈)

    测试源码

    public void testPOI() {
    	try {
    		Workbook workbook = WorkbookFactory.create(new File("demo.xlsx"));
    		int numberOfSheets = workbook.getNumberOfSheets();
    		for (int s = 0; s < numberOfSheets; s++) {
    			String sheetName = workbook.getSheetName(s);
    			System.out.println(sheetName);
    			//获取总行数
    			Sheet sheet = workbook.getSheetAt(s);
    			//获取最后一行索引(基数为0)
    			int lastRowNum = sheet.getLastRowNum();
    			//获取总行数(基数为1)
    			int physicalNumberOfRows = sheet.getPhysicalNumberOfRows();
    			System.out.println("lastRowNum:" + lastRowNum);
    			System.out.println("physicalNumberofRows:" + physicalNumberOfRows);
    			for (int r = 0; r < physicalNumberOfRows; r++) {
    				if (r == sheet.getLastRowNum()) { //判断是否是最后一行
    					Row row = sheet.getRow(r);
    					sheet.removeRow(row); //如果是最后一行,删除这行
    				} else {
    					Row row = sheet.getRow(r);
    					//获取物理列(基数为1)
    					int physicalNumberOfCells = row.getPhysicalNumberOfCells();
    					//获取最后一列索引(基数为1)
    					short lastCellNum = row.getLastCellNum();
    					System.out.println("physicalNumberOfCells:" + physicalNumberOfCells);
    					System.out.println("lastCellNum:" + lastCellNum);
    				}
    			}
    			System.out.println("----------华丽分割线----------");
    			//获取最后一行索引(基数为0)
    			lastRowNum = sheet.getLastRowNum();
    			//获取总行数(基数为1)
    			physicalNumberOfRows = sheet.getPhysicalNumberOfRows();
    			System.out.println("lastRowNum:" + lastRowNum);
    			System.out.println("physicalNumberofRows:" + physicalNumberOfRows);
    		}
    	} catch (EncryptedDocumentException e) {
    		e.printStackTrace();
    	} catch (InvalidFormatException e) {
    		e.printStackTrace();
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    }
    

    此贴持续更新......

  • 相关阅读:
    盛最多水的容器
    除自身以外数组的乘积
    组合总和
    旋转图像
    找到所有数组中消失的数字
    RSA加密、签名机制
    SpringBoot-从新建一个项目看起
    linux下vi命令修改文件及保存的使用方法
    集合
    第一个注解式的SpringMVC项目
  • 原文地址:https://www.cnblogs.com/chentging/p/7120580.html
Copyright © 2011-2022 走看看