Java 在groovy中读取Excel文件的最简单方法?
Groovy中是否有可用于读取Excel文件的warappers/util。我正在寻找类似于GroovySQL的rows函数的东西,如下面的spock测试示例所示。我的意图是将此用于Java 在groovy中读取Excel文件的最简单方法?,java,groovy,spock,Java,Groovy,Spock,Groovy中是否有可用于读取Excel文件的warappers/util。我正在寻找类似于GroovySQL的rows函数的东西,如下面的spock测试示例所示。我的意图是将此用于 导入groovy.sql.sql 导入spock.lang* 类数据库驱动的扩展规范{ @共享sql=sql.newInstance(“jdbc:h2:mem:,“org.h2.Driver”) //通常会使用外部数据库, //测试数据不需要插入到这里 def setupSpec(){ execute(“创建表ma
导入groovy.sql.sql
导入spock.lang*
类数据库驱动的扩展规范{
@共享sql=sql.newInstance(“jdbc:h2:mem:,“org.h2.Driver”)
//通常会使用外部数据库,
//测试数据不需要插入到这里
def setupSpec(){
execute(“创建表maxdata(id int主键,a int,b int,c int)”)
execute(“插入maxdata值(1,3,7,7),(2,5,4,5),(3,9,9)”)
}
def“最多两个数字”(){
期望:
数学最大值(a,b)=c
哪里:
[a,b,c]POI是您的Java库,因此您可以从Groovy中使用它。不确定是否在任何地方都有Groovy包装器我的一位GUG同事创建了一个使用ApachePOI使用Excel的工具,其方式与您描述的方式非常相似。它尚未正式化为库(AFAIK)但是可以在他的博客上找到
它允许您编写如下代码:
new ExcelBuilder("customers.xls").eachLine([labels:true]) {
new Person(name:"$firstname $lastname",
address:address, telephone:phone).save()
}
在这里查看:我也可以推荐使用。它可以在maven repository中获得(与ExcelBuilder
相反),并且还具有丰富的Groovy语法:
SpreadsheetQuery query = PoiSpreadsheetCriteria.FACTORY.forFile(file) // <1>
Collection cells = query.query {
sheet {
row {
cell {
value 'B'
}
}
}
}
assert cells.size() == 1
assert cells.first().value == 'B'
文档包含许多示例。
它甚至可以用同样的方式编写Excel文件!为了让人们更容易,我将Goran的代码转换成github repo。我还对其进行了修改,使用Grab作为依赖项,使用xlsx文件,只为每个单元格返回字符串。使用单元格类型给我的工作带来了麻烦。
SpreadsheetQuery query = PoiSpreadsheetCriteria.FACTORY.forFile(file) // <1>
Collection cells = query.query {
sheet {
row {
cell {
value 'B'
}
}
}
}
assert cells.size() == 1
assert cells.first().value == 'B'
Collection rows = query.query {
sheet(name({ name.startsWith('Con') })) {
row(1)
}
}.rows