Excel
Purpose¶
Generates an Excel file from an XML document or generate an XML document from an Excel file.
Methods¶
Binding name: excel
Method: String 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 newXml = excel.toXml(bytesXls, sdf)