是否有任何warappers / utils可用于在Groovy中读取Excel文件.我正在寻找类似于Groovy sql的行函数的东西,如下面的spock测试示例所示.我的目的是将其用于
data driven testing using excel in Spock test framework
@H_502_2@import groovy.sql.sql
import spock.lang.*
class DatabaseDriven extends Specification {
@Shared sql = sql.newInstance("jdbc:h2:mem:","org.h2.Driver")
// normally an external database would be used,// and the test data wouldn't have to be inserted here
def setupSpec() {
sql.execute("create table maxdata (id int primary key,a int,b int,c int)")
sql.execute("insert into maxdata values (1,3,7,7),(2,5,4,5),(3,9,9)")
}
def "maximum of two numbers"() {
expect:
Math.max(a,b) == c
where:
[a,b,c] << sql.rows("select a,c from maxdata")
}
}
解决方法
我的一位GUG成员创建了一个使用Apache POI与Excel一起工作的工具,其方式与您描述的方式非常相似.它尚未正式进入图书馆(AFAIK),但可以在他的博客上找到.
它允许您编写如下代码:
@H_502_2@new ExcelBuilder("customers.xls").eachLine([labels:true]) { new Person(name:"$firstname $lastname",address:address,telephone:phone).save() }在这里查看:http://www.technipelago.se/content/technipelago/blog/44