oceanborn2 / spreadsheet-builder

Spreadsheet Builder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 = PoiSpreadsheetQuery.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

About

Spreadsheet Builder

License:Apache License 2.0


Languages

Language:Groovy 53.5%Language:Java 46.5%