Export to Excel

From Documentation
Revision as of 12:56, 19 January 2022 by Hawk (talk | contribs) (correct highlight (via JWB))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Stop.png This article is out of date, please refer to http://books.zkoss.org/wiki/ZK_Spreadsheet_Essentials for more up to date information.


Purpose

Export ZK Spreadsheet to Excel format

Getting Excel Exporter

ZK Spreadsheet comes with Exporter implementation that allows ZK Spreadsheet contents(the Book) to be exported to the Excel format(xls or xlsx per the Book type). Get Excel exporter using Exporters.getExporter(String) as shown below.

Exporter c = Exporters.getExporter("excel");


ZUML

Here is an example of ZUML file that displays an Excel book file and has a button to export the entire workbook.

<?page title="ZSS Export to Different File Format" contentType="text/html;charset=UTF-8"?>
<window width="100" height="100%"
	apply="org.zkoss.zssessentials.export.ExportComposer">
	<hbox>
		<button id="exportBtn" label="Export All"></button>
	</hbox>
	<spreadsheet id="spreadsheet"
		src="/WEB-INF/excel/export/export.xlsx" maxrows="200" maxcolumns="40"
		vflex="1" width="100%">
	</spreadsheet>
</window>

Composer

In composer there is one event handler for export button defined in the above ZUML.

Exporting the entire workbook

To export the entire ZK Spreadsheet workbook contents use Exporter.export(Book, OutputStream) API. You should be able to get Book instance either by importing Excel book file using Importer interface or using Spreadsheet.getBook() API if ZK Spreadsheet component is already initialized with an Excel book file. You should also prepare OutputStream to which Excel format should be written to. For example

	public void onClick$exportBtn(Event evt) throws IOException {
		Book wb = spreadsheet.getBook();
		Exporter c = Exporters.getExporter("excel");
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		c.export(wb, baos);
		Filedownload.save(baos.toByteArray(), "application/file",
				wb.getBookName());
	}

Here I am using Exporters to get Exporter implementation to export ZK Spreadsheet contents to Excel format.

See the full source code for Composer here

Version History

Last Update : 2022/01/19


Version Date Content
     


All source code listed in this book is at Github.


Last Update : 2022/01/19

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.