使用groovy读取excel里面内容
需要依赖apache.org/poi 项目目录结构:项目 assets 下面放了一个people.xlsx文件 PS:
项目的源码:import org.apache.poi.ss.usermodel.Row import org.apache.poi.xssf.usermodel.XSSFCell import org.apache.poi.xssf.usermodel.XSSFRow import org.apache.poi.xssf.usermodel.XSSFSheet import org.apache.poi.xssf.usermodel.XSSFWorkbook /** * Created by WangQing on 15/11/20. */ class TestGroovy { void updateResourceDate(){ def filePath = "./assets/people.xlsx" File file = new File(filePath) FileInputStream is = new FileInputStream(file); XSSFWorkbook workbook = new XSSFWorkbook(is); workbook.setMissingCellPolicy(Row.CREATE_NULL_AS_BLANK); //循环sheet (0..<workbook.sheetIterator().collect {return it}.@size).each {s-> XSSFSheet sheet = workbook.getSheetAt(s); int rows = sheet.physicalNumberOfRows; //忽略第一行,标题行 (1..<rows).each{r-> XSSFRow row = sheet.getRow(r); def cells = row.physicalNumberOfCells; (0..<cells).each{c-> XSSFCell cell = row.getCell(c); def name = ""; switch (c) { case 0: name = "A:" break; case 1: name = "B:" break case 2: name = "C:" break case 3: name = "D:" break } print name + " "+cell+ ","; } println ""; } } } static main(args) { TestGroovy a = new TestGroovy(); a.updateResourceDate(); } } 项目运行结果: Apache的POI组建 遇到问题首先进入网址:http://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-3.13-20150929.zip 下载文件的时候,一般在工程里面依赖的是 jar,但是下面的是 .zip 很是疑惑,这个文件 26.4M,虽然不相信,但是下载下来后解压开,才明白: 其中该项目中使用了 xmlbeans-2.6.0.jar 这个文件在上面的 lib 下面。 因为我使用的mac 2010 office, 所以文件保存的是:.xlsx。开始使用的 HSSFRow ,发现报错: POIFSFileSystem excelFile = new POIFSFileSystem(new FileInputStream("xxx.xlsx")); HSSFWorkbook wb = new HSSFWorkbook(excelFile); 原因是: 所以,你在使用的时候,如果是2003版的,将项目的中 XSS 替换成 HSS。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |