使用groovy读取excel里面内容

使用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。

本课程是接口测试的基础+进阶+高阶的实战精品课程。 老师从多角度、多方位基于Demo进行讲解,力求做到认真细致讲好课程的每一要点。 全方位助力学员掌握接口测试的技术要领,快速跃升为接口测试方面的高手。 Demo具备很好的通用性及移植性,可以快速运用于实际接口测试中。 主讲老师为资深高级技术专家。毕业于电子科技大学。先后工作于多家知名外企,知名通信民企,知名IT公司。◇ 具备区块链领域高级测试解决方案设计、专家级测试开发、团队管理培训经验。◇ 具备专家级自动化测试解决方案、自动化测试平台框架设计开发、自动化测试团队管理培训经验。◇ 具备专家级的功能专项测试、性能专项测试经验及丰富的渗透测试经验。◇ 具备丰富的持续集成/持续交付(CI/CD)开发、实施及运维经验。◇ 具备丰富的C#/Java/Delphi/VB/C++/Python/Tcl/Groovy/Shell等开发及脚本开发经验◇ 具备20年的IT互联网工作经验。先后担任过项目经理,测试技术经理,测试总监以及专家级技术顾问等职务。独立开发完成有如下自动化测试框架及平台◇ GUI自动化测试框架(TSL)◇ ATF自动化测试框架(Tcl/Tk)◇ ATP自动化测试平台(C#/Java)◇ SoapUI接口自动化测试框架(Groovy/华为)◇ 持续集成自动化打包框架(Java/华为)◇ 区块链性能测试框架(Python)等。擅长框架/平台设计开发、团队管理、团队技能提升培训,技术瓶颈突破等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值