使用groovy读取excel里面内容

原创 2015年11月20日 16:23:47

使用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 ,发现报错:
Request processing failed; nested exception is org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents

POIFSFileSystem excelFile = new POIFSFileSystem(new FileInputStream("xxx.xlsx"));
HSSFWorkbook wb = new HSSFWorkbook(excelFile);

原因是:
HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls
XSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx

所以,你在使用的时候,如果是2003版的,将项目的中 XSS 替换成 HSS。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Groovy 读取excel文件

用Apache的POI组建读取Excel文件 相关jar包:http://poi.apache.org/download.html#POI-3.8 class UpdateRe...
  • AndyXuq
  • AndyXuq
  • 2012年08月28日 14:42
  • 5237

groovy : poi 读取 Excel xlsx

java groovy poi excel xlsx
  • belldeep
  • belldeep
  • 2014年10月01日 21:21
  • 1945

groovy : poi 读取 Excel xlsx

转载自:http://blog.csdn.net/belldeep/article/details/39721345   从 http://poi.apache.org/download.html...
  • rnZuoZuo
  • rnZuoZuo
  • 2016年11月07日 17:19
  • 787

groovy : poi 导出 Excel

java groovy poi Excel
  • belldeep
  • belldeep
  • 2014年10月04日 23:13
  • 1521

poi-bin-3.13-20150929

  • 2015年11月03日 09:15
  • 25.19MB
  • 下载

SOAPUI 接口自动化学习笔记节选 如何用Groovy 脚本读取CSV 文件

我们在不论做哪种类型的自动化,都或多或少需要读取CSV文件,或是EXCEL 中的文件,以下是百度阅读SOAPUI  接口测试笔记的部分内容, CSV  读取 有时我们需要将数据放在CSV 文件中,...
  • liuchangxin1982
  • liuchangxin1982
  • 2016年03月20日 13:55
  • 4152

JAVA与groovy脚本的结合使用

java执行groovy shell脚本 org.codehaus.groovy groovy-all 2.4.0-beta-1 添加groovy jar包支持...
  • z69183787
  • z69183787
  • 2017年03月28日 17:35
  • 1114

Java的poi技术遍历Excel时进行空Cell,空row,判断

/** * 导入信息 */ @Override public List add(HttpServletRequest request) { // TODO Auto-generated metho...
  • u012964999
  • u012964999
  • 2016年06月23日 12:18
  • 19835

使用Groovy操作文件

1. 读文件 读文件内容 在groovy中输出文件的内容: println new File("tmp.csv").text 上面代码非常简单,没有流的出现,没有资源关闭的出现,也没有异常控制...
  • chenyulancn
  • chenyulancn
  • 2017年03月23日 14:41
  • 1579

Groovy 之文件操作

 一:Java 与 Groovy 读文件操作比较Groovy 对 java.io.File 进行了扩展,增加了一些接受闭包参数和简化文件操作的方法。作为对比,我们还是先来看看 java 中读取文件的两...
  • wudith
  • wudith
  • 2010年07月21日 17:46
  • 6284
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用groovy读取excel里面内容
举报原因:
原因补充:

(最多只允许输入30个字)