Excel
Purpose¶
Generates an Excel file from an XML document or generate an XML document from an Excel file.
Methods¶
Binding name: excel
Method: byte[] toXml(byte[] excelBytes, SimpleDateFormat sdf)
Create an XML from spreadsheet bytes and a SimpleDateFormat.
Method: byte[] fromXml(String xml)
Create spreadsheet as byte array given XML.
Details¶
The format of the input XML document should be:
<template uri="file://some/path/myspreadsheet.xls">
<sheet name="sheet1">
<cells>
<cell type="string" position="A1" row="0" column="0">Brian is in the kitchen</cell>
<cell type="date" format="yyyy-MM-dd" row="1" column="1">1989-07-14</cell>
<cell type="numeric" position="C3" row="2" column="2">42</cell>
</cells>
<table position="A4" hasHeaderRow="false">
<columns>
<column index="1" type="string" />
<column index="2" type="numeric" />
<column index="3" type="date" />
</columns>
<data type="csv"><![CDATA[...]]></data>
</table>
<table position="A4" hasHeaderRow="true">
<columns>
<column index="2" type="string">HeaderNameA</column>
<column index="1" type="numeric">HeaderNameB</column>
<column index="4" type="date">HeaderNameC</column>
</columns>
<data type="xml">
<row>
<cell>Val1</cell>
<cell>Val2</cell>
<cell>Val3</cell>
<cell>Val4</cell>
</row>
</data>
</table>
</sheet>
<sheet name="sheet2">[...]</sheet>
</template>
Examples¶
import java.text.SimpleDateFormat
def xml = resource.get("Invoice")
def bytesXls = excel.fromXml(xml)
def sdf = new SimpleDateFormat("yyyy-MM-dd")
def bytesXml = excel.toXml(bytesXls, sdf)