/spreadsheet-builder

Spreadsheet Builder

Primary LanguageGroovyApache License 2.0Apache-2.0

Groovy Spreadsheet Builder

Spreadsheet builder provides convenient way how to create MS Excel OfficeOpenXML Documents (XSLX) focus not only on content side but also on easy styling.

Getting Started

Following example creates the basic spreadsheet with two rows and three columns.

@Grab(group='org.modelcatalogue', module='spreadsheet-builder-poi', version='{version}')
// fixes bugs on Groovy 2.4.x
@Grab(group='commons-codec', module='commons-codec', version='1.10')
@GrabExclude('org.codehaus.groovy:groovy-all')

import org.modelcatalogue.spreadsheet.api.Cell
import org.modelcatalogue.spreadsheet.builder.poi.PoiSpreadsheetBuilder
import org.modelcatalogue.spreadsheet.query.api.SpreadsheetCriteria
import org.modelcatalogue.spreadsheet.query.poi.PoiSpreadsheetCriteria

File file = new File('spreadsheet.xlsx')

PoiSpreadsheetBuilder.INSTANCE.build {                                                  // <1>
    sheet('Sample') {                                                                   // <2>
        row {                                                                           // <3>
            cell 'A'                                                                    // <4>
            cell 'B'
            cell 'C'
        }
        row {
            cell 1
            cell 2
            cell 3
        }
    }
} writeTo file                                                                          // <5>

SpreadsheetQuery query = PoiSpreadsheetCriteria.FACTORY.forFile(file)                      // <6>

Collection  cells = query.query {                                                 // <7>
    sheet {                                                                             // <8>
        row {                                                                           // <9>
            cell {
                value 'B'                                                               // <10>
            }
        }
    }
}

assert cells.size() == 1
assert cells.first().value == 'B'
  1. Build new spreadsheet based on Apache POI

  2. Create new sheet with the name Sample

  3. Create new row

  4. Create new cell

  5. Write the spreadsheet to the file

  6. Create new spreadsheet query for given file

  7. Start a query

  8. Query any sheet

  9. Query any row

  10. Query all cells containing value 'B'

Acknowledgement

This project is inspired by Groovy Document Builder