[seam-dev] Excel support

Nicklas Karlsson nickarls at gmail.com
Wed Apr 16 06:38:56 EDT 2008


Yep,

  As Daniel mention, there has been some brainstorming around the project...

  We were also thinking along the lines of the PDF support where there
are custom tags that
expose functionality of an underlying library and then the final
byte[] is hung in a DocumentStore etc.

I have good experiences with http://jexcelapi.sourceforge.net/ and it
is the most feature-complete and performant (more so than POI)
library that I'm aware of.

The basic usage could look like

<e:workbook value="#{personlist}" var="person">
	<e:column>
		<e:cell value="#{person.name}"/>
	</e:column>
</e:workbook>

Where we could go with library default values, working like a
dataTable (UIData? Daniel is the tag-person here ;-))

More complex, optional cases could then look like

<e:workbook
	protected="true"
	<e:workbookSettings
		arrayGrowSize="1000"
		autoFilterDisabled="true"
		cellValidationDisabled="true"
		characterSet="1"
		drawingsDisabled="true"
		encoding="utf-8"
		excelDisplayLanguage="fi"
		excelRegionalSettings="fi"
		formulaAdjust="true"
		GCDisabled="true"
		ignoreBlanks="false"
		intialFileSize="100000"
		locale="fi_fi"
		mergedCellChecking="false"
		namesDisabled="true"
		propertySets="false"
		rationalization="false"
		supressWarnings="true"
		temporaryFileDuringWriteDirectory="c:\\temp"
		useTemporaryFileDuringWrite="true"/>
	<e:sheetSettings
		paperSize="a4"
		orientation="landscape"
		sheetName="data"/>
	<e:column width="30">
		<f:facet name="header">
			<e:cell/>
		</f:facet>
		<e:cell
			value="#{person.age}"
			type="number"
			formatMask="#00"
			alignment="left"
			verticalAlignment="bottom"
			orientation="vertical"
			indentation="5"
			shrinkToFit="true"
			wrap="true"
			locked="true"
			comment="No comment">
			<e:background
				color="black"
				pattern="grey_25"/>
			<e:border
				type="bottom"
				lineStyle="dotted"
				color="brown"/>
			<e:cellFeatures>
			</e:cellFeatures>
			<e:font
				name="Times New Roman"
				pointSize="12"
				bold="true"
				italic="true"
				color="red"
				struckout="false"
				underlineStyle="single"
				scriptStyle="superscript"/>
		</e:cell>
	</e:column>
</e:workbook>

Exposing pretty much everyting JExcelAPI has to offer. Cell definition
would also be cascading so you can modify it on workbook-level
and then override some attributes for specific columns.

Feedback is welcome!

Nik



More information about the seam-dev mailing list