Самый простой способ чтения файлов Excel в Groovy? - PullRequest
7 голосов
/ 27 мая 2011

Есть ли какие-либо программы-утилиты для чтения файлов Excel в Groovy? Я ищу что-то похожее на функцию Groovy SQL rows , как показано в следующем примере проверки спока. Я собираюсь использовать это для тестирования данных с использованием Excel в тестовой среде Спока

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, 9)")
  }

  def "maximum of two numbers"() {
    expect:
    Math.max(a, b) == c

    where:
    [a, b, c] << sql.rows("select a, b, c from maxdata")
  }
} 

Ответы [ 2 ]

14 голосов
/ 30 мая 2011

Один из моих коллег-членов GUG создал инструмент для работы с Excel с использованием Apache POI почти так же, как вы описали. Он еще не оформлен в библиотеку (AFAIK), но доступен в его блоге.

Позволяет написать код, подобный следующему:

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

4 голосов
/ 27 мая 2011

POI - это то, что после http://poi.apache.org/ это Java Lib, так что вы можете использовать его из Groovy.Не уверен, есть ли где-нибудь Groovy обертки для этого

...