[seam-dev] Excel support

Pete Muir pete.muir at jboss.org
Wed Apr 16 11:30:47 EDT 2008


On 16 Apr 2008, at 16:17, Dan Allen wrote:
> This is exactly the type of proposal I was envisioning. I second Pete
> with regards to the CDK. It significantly reduces the pain of
> developing JSF components and encourages the source code to be well
> organized.
>
> In my mind, this would be a huge feature for Seam...arguably more so
> than any other tag-oriented feature we have so far. We definitely want
> a lot of sensible defaults to comply with Seam's goal to reduce
> typing. While some people want to tweak every cell, others just want
> to spit out the data and mess with it in Excel (and get paid sooner).
>
> Do we have a JIRA issue for this project? If not, we need one.

Yes, you created one yesterday!

http://jira.jboss.com/jira/browse/JBSEAM-2896

>
> -Dan
>
> On Wed, Apr 16, 2008 at 10:18 AM, Pete Muir <pete.muir at jboss.org>  
> wrote:
>> Sounds good.
>>
>>  You might want to investigate using the RF CDK to quickly build the
>> necessary descriptors and getter code - the mail/pdf isn't build  
>> like this
>> just because it predates the use of the CDK.
>>
>>
>>
>>  On 16 Apr 2008, at 11:38, Nicklas Karlsson wrote:
>>
>>> 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
>>> _______________________________________________
>>> seam-dev mailing list
>>> seam-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/seam-dev
>>>
>>
>>  --
>>  Pete Muir
>>  http://www.seamframework.org
>>  http://in.relation.to/Bloggers/Pete
>>
>>
>>
>>
>>
>>
>>  _______________________________________________
>>  seam-dev mailing list
>>  seam-dev at lists.jboss.org
>>  https://lists.jboss.org/mailman/listinfo/seam-dev
>>
>
>
>
> -- 
> Dan Allen
> Software consultant | Author of Seam in Action
>
> http://www.mojavelinux.com
> http://manning.com/dallen
>
> NOTE: While I make a strong effort to keep up with my email on a daily
> basis, life and work come first and, at times, keep me away from my  
> mail
> for a while. If you contact me, then don't hear back for more than  
> a week,
> it is very likely that I am excessively backlogged or the message was
> caught in the spam filters. Please don't hesitate to resend a  
> message if
> you feel that it did not reach my attention.
> _______________________________________________
> seam-dev mailing list
> seam-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/seam-dev

--
Pete Muir
http://www.seamframework.org
http://in.relation.to/Bloggers/Pete







More information about the seam-dev mailing list