SeamFramework.orgCommunity Documentation

Chapitre 19.  The Microsoft® Excel® spreadsheet application

19.1. Le support d'The Microsoft® Excel® spreadsheet application
19.2. La création d'une simple classeur de travail
19.3. Les Workbooks
19.4. Les feuilles de calculs
19.5. Les colonnes
19.6. Les cellules
19.6.1. La validation
19.6.2. Masque de formatage
19.7. Les formules
19.8. Les images
19.9. Les hyperliens
19.10. Les entêtes et les pieds de page
19.11. Les zones d'impressions et les titres
19.12. Les commandes du classeur de calcul
19.12.1. Le regroupement
19.12.2. Saut de page
19.12.3. La fusion
19.13. Exportateur de tableau de données
19.14. Les polices et les calques
19.14.1. Les liens vers les feuilles de styles
19.14.2. Les polices
19.14.3. Les bordures
19.14.4. Arrière plan
19.14.5. Les réglages de la colonne
19.14.6. Les réglages de la cellule
19.14.7. L'exportateur de base de données
19.14.8. Les exemples de calques
19.14.9. Les limitations
19.15. Internationalisation
19.16. Les liens et de la documentation additionnelle

Seam support aussi la génération de feuilles de calculs the Microsoft® Excel® spreadsheet application au travers de l'excelente bibliothèqe JExcelAPI . Le document généré est compatible avec the Microsoft® Excel® spreadsheet application versions 95, 97, 2000, XP et 2003. Actuellement un sous-groupe limité de fonctionnalité de la bibliothèque sont exploité mais le but ultime est d'être capable de proposer tout ce que la bibliothèque est capable de faire. Merci de vous référer à la documentation JExcelAPI pour plus d'informations sur les possibilités et les limitations.

The Microsoft® Excel® spreadsheet application jboss-seam-excel.jar. Ce JAR contient les controles JSF pour the Microsoft® Excel® spreadsheet application qui sont utilisé pour construire les vues qui peuvent rendre le document et le composant DocumentStore, qui donne le document rendu à l'utilisateur. Pour inclure le support d'the Microsoft® Excel® spreadsheet application dans votre application, includez jboss-seam-excel.jar dans votre dossier WEB-INF/lib avec le fichier JAR jxl.jar.Cependant, vous allez devoir configurer le servlet DocumentStore dans votre web.xml

Le module de Seam The Microsoft® Excel® spreadsheet application nécéssite l'utilisation des Facelets comme technologie des vues. De plus, il nécessite l'utilisation du package seam-ui.

Le projet examples/excel contient un exemple opérationnel du support d'the Microsoft® Excel® spreadsheet application. Il démontre un empaquetage de déploiement propre, et il montre les fonctionnalités disponibles.

La personnalisation du module pour le support d'autres type d'API pour les feuilles de calcul d'the Microsoft® Excel® spreadsheet application ont été fabriquée de manière simple. Implémentez l'interface ExcelWorkbook et enregistrez le dans components.xml.


<excel:excelFactory>
   <property name="implementations">
      <key
>myExcelExporter</key>
      <value
>my.excel.exporter.ExcelExport</value>
   </property>
</excel:excelFactory
>
      

et enregistrez l'espace de nom d'excel avec la balise du composant.


xmlns:excel="http://jboss.com/products/seam/excel"

Ensuite, définisez le type UIWorkbook à myExcelExporter et votre propre exportateur sera utilisé. par défaut c'est "jxl", mais le support de CSV a été aussi ajouté, en utilisant le type "csv".

Voir Section 18.6, « La configuration de iText » pour l'information de comment configurer le servlet de document pour distribuer le document avec une extension .xls.

Si vous avez des problèmes pour accéder au fichier généré sous IE (particulièrement avec https), soyez sur de ne pas avoir de restricutions trop strictes dans le navigateur (voir http://www.nwnetworks.com/iezones.htm/), les contraintes de sécurité trop stricte dans web.xml ou une combinaisons des deux.

Lu'ilisation classique du support de feuille de calcul, utilise un classique <h:dataTable> et vous pouvez le lier avec un List, un Set, un Map, un Array ou un DataModel.



            <e:workbook xmlns:e="http://jboss.com/products/seam/excel">
               <e:worksheet>
                  <e:cell column="0" row="0" value="Hello world!"/>
               </e:worksheet>
            </e:workbook>
        
      

Ce n'est pas très difficile, allons voir les clas les plus courants:



            <e:workbook xmlns:e="http://jboss.com/products/seam/excel">
               <e:worksheet value="#{data}" var="item">
                  <e:column>
                     <e:cell value="#{item.value}"/>
                  </e:column>
               </e:worksheet>
            </e:workbook>
         
      

En premier, nous allons avoir un élément de haut-niveau workbook qui sert de containeur et qui n'a pas d'attributs. L'élément fil worksheet a deux attributs; value="#{data}" c'est la liaison EL avec la donnée et var="item" est le nom de l'élément courant. Englobé dans le worksheet, il y a une seule colonne et à l'intérieur vous pouvez voir une cellule qui à la liaison finale avec la données avec l'élément itirré courrant

Cela vous permet de commencer à remplir de données vos feuilles de calculs!

Les workboocks sont les parents de haut-niveaux des worksheets et des liens des feuilles de styles.

<e:workbook>

Les attributes

  • type — Défini quel module d'exportation à utiliser. La valeur est une chaine de caractères et peut aussi bien être "jxl" ou "csv". Par défaut c'est "jxl".

  • templateURI — Un modèle qui peut être utilisé comme une base de classeurs. La valeur est une chaine de caractères (URI).

  • arrayGrowSize — La quantité de mémoire pour augmenter la quantité de mémoire allouée pour stoquer les données du classeur. Pour les processus ouvrant de petits classeurs dans un WAS itl peut être nécéssaire de réduire la taille par défaut. La valeur par défaut est de 1 mégaoctet. La valeur est un nombre (bytes).

  • autoFilterDisabled — Le filtrage automatique est-il désactiver? La valeur est un booléen.

  • cellValidationDisabled — La validation de la cellule devrait-elle être ignorée? La valeur est un booléen.

  • characterSet — L'encodage de caractère. Seulement utilisé quand la feuille de clacul est lue, et n'a pas d'effets quand le classeur est écrit. La valeur est une chaine de caractères (character set encoding).

  • drawingsDisabled — Le dessin devrait-il être désactivé ? La valeur est un booléen.

  • excelDisplayLanguage — Le langage dans lequel le fichier généré sera affiché. Cette valeur est une chaine de caractères (deux caractères du code du pays en ISO 3166 ).

  • excelRegionalSettings — Le réglage régionnal pour le fichier excel généré. La valeur est une chaine de caractères (deux caractères du code du pays en ISO 3166).

  • formulaAdjust — Les formules devrait-elles être ajustée? La valeur est un booléen.

  • gcDisabled — Le ramasse miètes devrait-il être désactivé? La valeur est un booléen.

  • ignoreBlanks — Les espaces devrait-ils être ignorés? La valeur est un booléen

  • initialFileSize — La quantité de mémoire initial allouée pour stoquer les données du classeur pendant la lecture du classeur. Pour des processus de lecture de plusieurs petits classuers dans un WAS il peut être nécéssaire de réduire la taille par défaut. La valeur par défaut est de 5 mega-octets. La valeur est un nombre (bytes).

  • locale — La locale utilisé par JExcelApi pour générer le classeur. Le réglage de cette valeur n'a aucun effet sur la langue ou la régio du fichier excel généré. La valeur est une chaine de caractères.

  • mergedCellCheckingDisabled — La fussion de la validation de cellule doit-elle être désactivé? La valeur est un booléen.

  • namesDisabled — La liaison des noms doit-elle être désactivé. la valeur est un booléen.

  • propertySets — La définition de propriétés devrait elle être défini (comme les macros) pour être copiée avec dans le classuer ? En laisant cette fonctionné active entrainera le processus JXL à utiliser beaucoup plus de mémoire. La valeur est un booléen.

  • rationalization — Le formatage des cellules devrait-il être rationnalisé avant l'écriture de la feuille ? La valeur est un booléen. Par défaut à true.

  • supressWarnings — Les alertes devrait-elles être supprimée? Du aux modifications dans la journalisation des logs dans la version 2.4, il va maintenant définir cette fonctionnalité au travers de la JVM (selon le type d'outil de log utilisé). La valeur est un booléen.

  • temporaryFileDuringWriteDirectory — Utilisé en conjonction avec le réglage useTemporaryFileDuringWrite pour définir le dossier cible pour les fichiers temporaires. Cette valeur peut être NULL, dans ce cas le dossier temporaire par défaut normal pour le système est utilisé en lieu et place. La valeur est une chaine (le dossier vers lequel les fichiers temporaires devraient être écrit).

  • useTemporaryFileDuringWrite — Un fichier temporaire devrait être utilisé pendant la génération de ce classuer. Si non défini, le classeur sera placé dans la mémoire. La définition de ce drapeau entraine un choix dans la gestion entre l'utilisation de la mémoire et la performance. La valeur est un booléen.

  • workbookProtected — Le classeur devrait-il être protégé? La valeur est un booléen.

  • filename — Le nom de fichier utilisé pendant le téléchargement. La valeur est une chaine de caractère. Merci de noez que si vous lié le DocumentServlet à un patron, l'extension du fichier doit aussi correspondre.

  • exportKey — Une clef qui stocke les données résultats dans un objet DocumentData dans l'étendue évènement. Si utilisé, il n'y a pas de redirection.

Les élements enfants

Les Facets

  • aucun



            <e:workbook>
               <e:worksheet>
                  <e:cell value="Hello World" row="0" column="0"/>
               </e:worksheet>
            <e:workbook>
         
      

définie un classeur avec une feuille de calcul et format A1

Les feuilles de calculs sont les enfant des classeurs et les parents des colonnes et des commandes des feuilles de calculs. Ils contiennents aussi les cellules placé explicitement, les formules, les images et les liens hypertextes. Ils sont les pages qui font le classeurs.

<e:worksheet>

  • value — Une expression EL pour les données en réserve. La valeur est une chaine de caractères. La cible de cette expression est de trouver un Iterable. Noez que si la cible est une Map, l'itération se fait sur le Map.Entry entrySet(), et donc vous devez utilize un .key ou un .value pour cibler vos références.

  • var — Le nom de la variable de la ligne courrant itérée qui peut êtree plus tard référencée dans la cellule comme des attributs de valeur de cellule. La valeur est une chaine de caractères.

  • name — Le nom du classeur. La valeur est une cahine de caractères. Par défaut à Sheet# quand # est l'index de la feuille de calcul. Si le nom donné de classeur existe, la feuille est sélectionné. Ceci peut être utilisé pour fusionner des groupes de données dans une seule feuille de calcul, en définissant juste le même nom pour eux (en utilisantstartRow et startCol pour être sur que cela ne va pas occuper le même emplacement).

  • startRow — Définie la ligne de départ pour les données. La valeur est un nombre. Utilisé pour positioner les données dans les différents endroits que le coin supérieur gauche (particulièrement utile s'il y a des groupes de données multiples pour une seule feuille de calcul). Par défaut à 0.

  • startColumn — Définie la colonne de démarrage pour les données. La valeur est un nombre. Utilisé pour placer les données dans un autre endroit que le coij suppérieur gauche (particulièrement utile si on a plusieurs groupes de données pour une seule feuille de calcul). Par défaut à 0.

  • automaticFormulaCalculation — Faut-il automatiquementy calculé les formules? La valeur est un booléen.

  • bottomMargin — La marge du bas. La valeur est un nombre (en pouces).

  • copies — Le nombre de copies. la valeur est un nombre.

  • defaultColumnWidth — La largeur de la colonne par défaut. La valeur est un nombre (nombre de caractères * 256).

  • defaultRowHeight — La hauteur par défaut de la ligne. La valeur est un nombre (1/20ième d'un point).

  • displayZeroValues — Faut-il afficher les valeur zéro? La valeur est un booléen.

  • fitHeight — Le nombre de pages verticales qui imprimera la feuille. La valeur est un nombre.

  • fitToPages — Faut-il en imprimer en faisant du sur-mesures pour les pages? La valeur est un booléen.

  • fitWidth — La nombre de page de largeur que cette feuille va utilisé pour s'imprimer. La valeur est un nombre.

  • footerMargin — La marge pour tout pied-de-page. La valeur est un nombre (en pouces).

  • headerMargin — La marge pour tous les entêtes de pages. La valeur est un nombre (en pouces).

  • hidden — La feuille de calcul doit-elle être cachée? La valeur est un booléen.

  • horizontalCentre — La feuille de calcul doit-elle être centrée horizontallement? La valeur est un booléen.

  • horizontalFreeze — La ligne à partir de laquelle le volet est bloquée verticallement. La valeur est un nombre.

  • horizontalPrintResolution — La résolution d'impression horizontale. La valeur est un nombre.

  • leftMargin — La marge de gauche. La valeur est un nombre (en pouces).

  • normalMagnification — Le facteur de zoom normal (sans zoom ou sans facteur d'echelle). La valeur est un nombre (en pourcentage).

  • orientation — Le sens d'orientation du papier pour l'impression de la feuille. La valeur est une chaine de caractères qui peut être aussi bien"landscape" que "portrait".

  • pageBreakPreviewMagnification — Le facteur de zoom en prévisualisation du saut de page (aucun zoom ou de facteurs d'échelle). La valeur est un nombre (en pourcentage).

  • pageBreakPreviewMode — Faut-il montrer les page en mode prévisualisation? La valeur est un booléen.

  • pageStart — Le numéro de page à partir duquel commencer à imprimer. La valeur est un nombre.

  • paperSize — La taille du papier à utiliser pour l'impression de cette feuille. La valeur est une chaine de caractères qui peut être soit "a4", "a3", "letter", "legal" etc (voir jxl.format.PaperSize ).

  • password — Le mot de passe pour cette feuille. La valeur est une chaine de caractères.

  • passwordHash — Le type de hash du mot de passe - utilisation avec la copie de feuilles. La valeur est une chaine de caractères.

  • printGridLines — Faut-il imprimer les lignes de la grille? La valeur est un booléen.

  • printHeaders — Faut-il imprimer les entêtes? La valeur est un booléen.

  • sheetProtected — Faut-il que la feuille soit protégé (en lecture seule)? La valeur est un booléen.

  • recalculateFormulasBeforeSave — Faut-il que les formules soit recalculées quand la feuille est sauvegardée? La valeur est un booléen. Par fdéfaut la valeur est false.

  • rightMargin — La marge de droit. La valeur est un nombre (en pouces).

  • scaleFactor — Le facteur de zoom pour cette feuille à utiliser pour l'impression. la valeur est un nombre (en pourcentage).

  • selected — Faut-il que la feuille soit sélectionné quand le classeur s'ouvre? La valeur est un booléen.

  • showGridLines — Faut-il montrer la grille ? La valeur est un booléen.

  • topMargin — La marge du haut. La valeur est un nombre (en pouces).

  • verticalCentre — Centrer verticallement? La valeur est un booléen.

  • verticalFreeze — La ligne à partir de laquelle le volet est bloqué verticallement. La valeur est un nombre.

  • verticalPrintResolution — La résolution d'impression verticale. La valeur est un nombre.

  • zoomFactor — Le facteur de zoom. Ne pas confondre avec le facteur de zoom (qui est relatif à la vue écran) et le facteur d'échelle (qui se réfère au facteur d'échelle pour l'impression). La valeur est un nombre (en pourcentage).

Les élements enfants

Les Facets

  • header— Contenu qui sera placé dans le haut de bloc de données, au dessus des entêtes de colonnes (s'il y en a).

  • footer— Contenu qui sera placé en bas du bloc de données, au dessous du bas des colonnes (s'il y en a).



            <e:workbook>
               <e:worksheet name="foo" startColumn="1" startRow="1">
                      <e:column value="#{personList}" var="person">
                         <f:facet name="header">
                            <e:cell value="Last name"/>
                         </f:facet>
                     <e:cell value="#{person.lastName}"/>
                  </e:column>
               </e:worksheet>
            <e:workbook>
         
      

défini un classeur de calcul avec le nom "foo", commençant en B2.

Les colonnes sont les enfants des feuilles de calculs et les parents des cellules, des images, formules et hyperliens. Ils sont la structure qui controle l'itération dans les données de la feuille de calcul. Voir Section 19.14.5, « Les réglages de la colonne » pour le formattage.

<e:column>

Les attributes

  • aucun

Les élements enfants

Les Facets

  • header — Ce facet peut/pourra contenenir une <e:cell> , une <e:formula> , une <e:image> ou un <e:hyperLink> qui sera utilisé comme entête pour la colonne.

  • footer — Ce facet peux/pourra contenir une <e:cell> , une <e:formula> , une <e:image> ou un <e:hyperLink> qui sera utilisé pour le pied de la colonne.



            <e:workbook>
                   <e:worksheet value="#{personList}" var="person">
                      <e:column>
                         <f:facet name="header">
                            <e:cell value="Last name"/>
                         </f:facet>
                         <e:cell value="#{person.lastName}"/>
                      </e:column>
                   </e:worksheet>
            <e:workbook>
         
      

définie une colonne avec un entétête et une sortie itérable

Les cellules sont regroupé dans des colonnes (pour l'itération) ou dans des classeurs (pour un positionnement directe en utilisant les attributs column et row) et sont responsable pour l'affichage de valeurs (habituellement au travers d'expressions EL en liaison avec l'attribut var-de la base de données. Voir ???

<e:cell>

Les attributes

  • column — La colonne où la position de la cellule. Par défaut c'est un compteur interne. La valeur est un nombre. Notez que la valeur est basé sur un index zéro.

  • row — La ligne où est localisé la cellule. Par défaut c'est un compteur interne. La valeur est un nombre. Notez que la valeur est basé sur un index zéro.

  • value — La valeur à afficher. Habituellement une expression EL référençant un attribut var lié à la base de données. La valeur est une chaine de caractères.

  • comment — Un commentaire à ajouter à la cellule. La valeur est une chaine de caractères.

  • commentHeight — La hauteur du commentaire. La valeur est un nombre (en pixel).

  • commentWidth — La largeur du commentaire. la valeur est un nombre (en pixels).

Les élements enfants

Les Facets

  • aucun



            <e:workbook>
               <e:worksheet
>         
                  <e:column value="#{personList}" var="person">
                     <f:facet name="header">
                            <e:cell value="Last name"/>
                         </f:facet>
                         <e:cell value="#{person.lastName}"/>
                      </e:column>
               </e:worksheet>
            </e:workbook
>     
         
      

définie une colonne avec un entétête et une sortie itérable

Les validations sont incluses dans les cellules ou les formules. Elles ajoutent des contraintes pour les données des cellules.

<e:numericValidation>

Les attributes

  • value — La limite (ou la limite basse quand c'est applicable) de la validation. La valeur est un nombre.

  • value2 — La limite haute (quand c'est applicable) de la validation. La valeur est un nombre.

  • condition — La condition de validation. La valeur est une chaine de caractères.

    • "equal" - requise la valeur de la cellule à faire correspondre à une définie dans l'attribut valeur

    • "greater_equal" - requises la valeur de la cellule devant être plus grande ou égale à al valeur définie dans l'attribut valeur

    • "less_equal" - requies que la valeur de la cellule soit inférieur ou égale à la valeur définie dans l'attribut valeur

    • "less_than" - requière que la valeur de la cellule soit inférieure à la valeur définie dans la valeur attribue

    • "not_equal" - requière que la valeur de la cellule ne corresponde pas à celle définie dans l'attribut valeur.

    • "between" - requière que la valeur de la cellule soit entre les valeur définies dans les attributs valeur- et valeur2

    • "not_between" - requière que la valeur de la cellule ne soit pas entre les valeur définies dans les attributs valeur- et valeur2

Les élements enfants

  • aucun

Les Facets

  • aucun



               <e:workbook>
                  <e:worksheet>
                     <e:column value="#{personList}" var="person"
>                   
                        <e:cell value="#{person.age">
                           <e:numericValidation condition="between" value="4" 
                              value2="18"/>
                        </e:cell>
                     </e:column>
                  </e:worksheet>
               </e:workbook
>            
            
         

ajoute une validation numérique à une cellule en spécifiant que la valeur doit être entre 4 et 18.

<e:rangeValidation>

Les attributes

  • startColumn — La colonne de départ pour un écart de valeur serva,t à valider. La valeur est un nombre.

  • startRow — La ligne de départ d'un écart de valeur servant à valider. la valeur est un nombre.

  • endColumn — La colonne de fin d'un écart de valeur servant à valider. La valeur est un nombre.

  • endRow — La ligne de fin d'un écart de valeur servant à valider. La valeur est un nombre.

Les élements enfants

  • aucun

Les Facets

  • aucun



               <e:workbook>
                  <e:worksheet>
                     <e:column value="#{personList}" var="person"
>                   
                            <e:cell value="#{person.position">
                           <e:rangeValidation startColumn="0" startRow="0" 
                              endColumn="0" endRow="10"/>
                        </e:cell>
                     </e:column>
                  </e:worksheet>
               </e:workbook
>            
            
         

ajoute la validation à une cellule spécifiant que la valeur doit être comprise dans les valeurs spécifiées dans la zone A1:A10.

<e:listValidation>

Les attributes

  • aucun

Les élements enfants

  • Zéro ou une liste d'éléments de validations.

Les Facets

  • aucun

e:listValidation est juste un containeur pour conserver les multiples balises e:listValidationItem.

<e:listValidationItem>

Les attributes

  • value — Une valeur servant à valider.

Les élements enfants

  • aucun

Les Facets

  • aucun



               <e:workbook>
                  <e:worksheet>
                     <e:column value="#{personList}" var="person"
>            
                        <e:cell value="#{person.position">
                           <e:listValidation>
                              <e:listValidationItem value="manager"/>
                              <e:listValidationItem value="employee"/>
                           </e:listValidation>
                        </e:cell>
                     </e:column>
                  </e:worksheet>
               </e:workbook
>              
            
         

ajoute une validation à la cellule spécifiant que la valeur doit être "manager" ou "employee".

Les formules sont regroupé dans les colonnes (pour l'itération) ou dans les feuilles de calcul (pour le placement direct en utilisant les attributs column et row) et ajoute les opérations de calcul ou les fonctions à un groupe de cellules. Ils sont surtout des cellules, voir Section 19.6, « Les cellules » pour les attributs disponibles, Notez qu'ils peuvent appliquer des modèles et ont leur propre définition depolices comme des cellules classiques.

La formule de la cellule est placé dans l'attribut value comme une notation the Microsoft® Excel® spreadsheet application classique. Notez que quand on fait des formules croisant des feuilles, le classeur doit exister avant de lui référencer une formule. La valeur est une chaine de caractères.



            <e:workbook>
               <e:worksheet name="fooSheet">
                  <e:cell column="0" row="0" value="1"/>
               </e:worksheet>
               <e:worksheet name="barSheet">
                  <e:cell column="0" row="0" value="2"/>
                  <e:formula column="0" row="1" 
                     value="fooSheet!A1+barSheet1!A1">
                     <e:font fontSize="12"/>
                  </e:formula>
               </e:worksheet>
            </e:workbook
>         
         
      

définie une formule dans B2 sommant les cellules A1 dans les feuilles de calculs FooSheet et BarSheet

Les images sont regroupées dans les colonnes (pour l'itération) ou dans les feuilles de calculs (pour un placement direct en utilisant les attributs startColumn/startRow et rowSpan/columnSpan). L'étendue est optionnelet si il omit, l'image sera insérée sans être retaillée.

<e:image>

Les attributes

  • startColumn — La colonne de départ de l'image. Par défaut c'est un compteur intern. La valeur est un nombre. Notez que la valeur est basée sur un index zéro.

  • startRow — La ligne de départ de l'image. Par défaut c'est un compteur interne. La valeur est un nombre. Notez que la valeur est basée sur un index zéro.

  • columnSpan — L'étendue en colonne de l'image. Par défaut est le résultat de la largeur par défaut de l'image. La valeur est un nombre flottant.

  • rowSpan — L'étendue en ligne de l'image. Par défaut est un le résultat de la hauteur par défaut de l'image. La valeur est un nombre flottant.

  • URI — L'URI de l'image. La valeur est une chaine de caractères.

Les élements enfants

  • aucun

Les Facets

  • aucun



            <e:workbook>
               <e:worksheet>
                  <e:image startRow="0" startColumn="0" rowSpan="4" 
                     columnSpan="4" URI="http://foo.org/logo.jpg"/>
               </e:worksheet>
            </e:workbook
>           
         
      

définie une image dans A1:E5 basée sur les données transmisses

Les hyperliens sont regroupé dans les colonnes (pour l'itération) ou dans les classeurs (pour un placement direct en utilisant les attributs startColumn/startRow et endColumn/endRow). Ils ajoutent des liens de navigations aux URIs

<e:hyperlink>

Les attributes

  • startColumn — La colonne de départ de l'hyperlien. Par défaut est un compteur interne. La valeur est un nombre. Notez que la valeur est un index basée zéro.

  • startRow — La ligne de départ de l'hyperlien. Par défaut c'est un compteur interne. La valeur est un nombre. Notez que la valeur est basée sur un index zéro.

  • endColumn — La colonne de fin de l'hyperlien. Par défaut c'est un compteur interne. La valeur est un nombre. Notez que la valeur est basée sur un index zéro.

  • endRow — La ligne de fin de l'hyperlien. Par défaut c'est un compteur interne. La valeur est un nombre. Notez que la valeur est basée sur un index zéro.

  • URL — L'URL du lien. La valeur est une chaine de caractères.

  • description — La description du lien. La valeur est une chaine de caractères.

Les élements enfants

  • aucun

Les Facets

  • aucun



            <e:workbook>
               <e:worksheet>
                  <e:hyperLink startRow="0" startColumn="0" endRow="4" 
                     endColumn="4" URL="http://seamframework.org" 
                     description="The Seam Framework"/>
               </e:worksheet>
            </e:workbook
>          
         
      

défini un hyperlien et sa description qui point vers SFWK dans la zone A1:E5

Les entêtes et les pieds-de-pages sont des enfants des classeurs et contients les facets qui à leur tour contiennent les commandes qui sont analysées.

<e:header>

Les attributes

  • aucun

Les élements enfants

  • aucun

Les Facets

  • left — Le contenu de la partie gauche de l'entête/du pied de page.

  • center — Le contenu de la partie centrale de l'entête/du pied de page.

  • right — Le contenu de la partie droite de l'entête/du pied de page.

<e:footer>

Les attributes

  • aucun

Les élements enfants

  • aucun

Les Facets

  • left — Le contenu de la partie gauche de l'entête/du pied de page.

  • center — Le contenu de la partie centrale de l'entête/du pied de page.

  • right — Le contenu de la partie droite de l'entête/du pied de page.

Le contenu de la facets est dans une chaine de caractères qui peut contenir plusieurs commandes délimitées par # comme ci-dessous:

#date#

Insère la date courante

#page_number#

Insère le numéro de la page courante

#time#

Insère l'heure actuelle

#total_pages#

Insère le nombre total de page

#worksheet_name#

Insère le nom de la feuille de calcul

#workbook_name#

Insère le nom du classeur

#bold#

Activer la police en gras, ustilisez un autre #bold# pour le désactiver.

#italics#

Activer la police en italique, ustilisez un autre #italic# pour le désactiver.

#underline#

Basculer le soulignement, utilisez un autre #underline# pour désactiver

#double_underline#

Basculez le double soulignement, utilisez un autre #double_underline# pour désactiver

#outline#

Basculez la police surlignée, utilisez un autre #outline# pour désactiver

#shadow#

Basculez la police ombrée, utilisez un autre #shadow# pour désactiver

#strikethrough#

Basculez la police barrée, utilisez un autre #strikethrough# pour désactiver

#subscript#

Basculez la police en indice, utilisez un autre #subscript# pour désactiver

#superscript#

Basculez la police en exposant, utilisez un autre #superscript# pour désactiver

#font_name#

Définir le nom de la police, utilisez quelquechose comme #font_name=Verdana"

#font_size#

Défini une taille de police, utilisez quelquechose comme #font_size=12#



            <e:workbook>
               <e:worksheet
>         
                  <e:header>
                     <f:facet name="left">
                        This document was made on #date# and has #total_pages# pages
                     </f:facet>
                     <f:facet name="right">
                        #time#
                     </f:facet>
                  </e:header>
               <e:worksheet>
            </e:workbook>
         
      

Les zones d'impression et les titres sont les enfants des feuilles de calculs et des modèles de classeur et fournissent... zones d'impressions et titres.

<e:printArea>

Les attributes

  • firstColumn — La colonne dans le coin supérieur gauche de la zone. Le paramètre est un nombre. Notez que la valeur est un index basée sur zéro.

  • firstRow — La ligne dans le coin supérieur gauche de la zone. Le paramètre est un nombre. Notez que la valeur est un index basée sur zéro.

  • lastColumn — La colonne dans le coin inférieur droit de la zone. Le paramètre est un nombre. Notez que la valeur est basé sur un index zéro.

  • lastRow — La ligne du coin inférieur droit de la zone. Le paramètre est un nombre. Notez que la valeur est basé sur un index zéro.

Les élements enfants

  • aucun

Les Facets

  • aucun



            <e:workbook>
               <e:worksheet
>            
                  <e:printTitles firstRow="0" firstColumn="0" 
                     lastRow="0" lastColumn="9"/>
                  <e:printArea firstRow="1" firstColumn="0" 
                     lastRow="9" lastColumn="9"/>
               </e:worksheet>
            </e:workbook>
         
      

définie un titre d'impression entre A1:A10 et une zone d'impression entre B2:J10.

Les commandes de la feuille de calculs sont les enfant des classeurs et habituellement exécuté seulement une fois.

Fournir le regroupement de colonnes et de lignes.

<e:groupRows>

Les attributes

  • startRow — la ligne qui indique le commencent du regroupement La valeur est un nombre. Notez que la valeur est un index basé sur zéro.

  • endRow — La ligne qui indique la fin du regroupement. La valeur est un nombre. Notez que la valeur est un basé sur un index zéro.

  • collapse — Faut il que le regroupement soit replié initiallement? La valeur est un booléen.

Les élements enfants

  • aucun

Les Facets

  • aucun

<e:groupColumns>

Les attributes

  • startColumn — La colonne de départ du regroupement. La valeur est un nombre. Notez que la valeur est un index basé sur zéro.

  • endColumn — La colonne de fin du regroupement. La valeur est un nombre. Notez que la valeur est un index basé sur zéro.

  • collapse — Faut il que le regroupement soit replié initiallement? La valeur est un booléen.

Les élements enfants

  • aucun

Les Facets

  • aucun



               <e:workbook>
                  <e:worksheet
>            
                     <e:groupRows startRow="4" endRow="9" collapse="true"/>
                     <e:groupColumns startColumn="0" endColumn="9" collapse="false"/>
                  </e:worksheet>
               </e:workbook>
            
         

les lignes groupées de 5 à 10 et les colonnes de 5 à 10 ainsi les lignes sont initiallement repliées (mais pas les colonnes).

Fournir le regroupement de cellule

<e:mergeCells>

Les attributes

  • startRow — La ligne de départ pour la fusion. La valeur est un nombre. Notez que la valeur est un index basé sur zéro.

  • startColumn — La colonne de départ pour la fusion. La valeur est un nombre. Notez que la valeur est un index basé sur zéro.

  • endRow — La ligne de fin pour la fusion. La valeur est un nombre. Notez que la valeur est un index basé sur zéro.

  • endColumn — La colonne de fin de la fusion. La valeur est un nombre. Notez que la valeur est un index basé sur zéro.

Les élements enfants

  • aucun

Les Facets

  • aucun



               <e:workbook>
                  <e:worksheet>
                     <e:mergeCells startRow="0" startColumn="0" endRow="9" endColumn="9"/>
                  </e:worksheet>
               </e:workbook
>            
            
         

fusions des cellules dans la zone A1:J10

Si vou préférez exporter une table de données JSF existante au lieu d'écrire un document XHTML dédié, ce qui peut aussi être réalisé facilement en exécutant le composant org.jboss.seam.excel.excelExporter.export, en passant l'identifiant de la table de données comme un paramètre EL de Seam. Considerant que vous avez une table de données



            <h:form id="theForm">
               <h:dataTable id="theDataTable" value="#{personList.personList}" 
                  var="person">
                  ...
               </h:dataTable>
            </h:form>
            
      

que vous voulez voir coomme un classeur Excel® Microsoft® . Placez un



            <h:commandLink 
               value="Export" 
               action="#{excelExporter.export('theForm:theDataTable')}"
            />
         
      

dans le formulaire et c'est fait. VOus pouvez bien sûr exécuter l'exportateur avec un bouton s:link ou toute méthode préférée. Il y a aussi des plans pour un tag d'exportation qui peut être placé dans la balise table de données ainsi vous n'avez pas à indiquer la table de données par son ID.

Voir Section 19.14, « Les polices et les calques » pour le formatage.

Le control de comment l'affichage est fait est une combinaison d'attributs de style CSS et d'attributs de tag. Les plus communs (polices, bordures, arrières plan, etc) sont CSS et quelques réglages généraux sont des attributs de tag.

Les attributs CSS en cascade depuis les parents vers les enfants et avec un tag surcharge les classes CSS référencés dans l'attribut styleClass et finallement surcharge les attributs CSS définis dans l'attribut style. Vous pouvez les placer dans presque partout mais en indiquant une largeur de colonne défini une cellule incluse dans la colonne est assez évident.

Si vous avez un masque de formatage ou des polices qui utiliser des caractères spéciaux, comme des espaces ou des points virgules, vous pouvez déspécialiser des caractères css avec le caractère '' comme xls-format-mask:'$;$'

Ce groupe d'attributs XLS-CSS définit une police et ces attributs

xls-font-family

Le nom de la police. Soyez sur qu'elle est supportée par votre système.

xls-font-size

La taille de la font. Utilisez un nombre entier.

xls-font-color

La couleur de la police (voir jxl.format.Colour ).

xls-font-bold

Doit-elle être en gras? Les valeurs valides sont "true" et "false"

xls-font-italic

Doit-elle être en italique? Les valeurs valides sont "true" et "false"

xls-font-script-style

Le style de script de la police (voir jxl.format.ScriptStyle ).

xls-font-underline-style

Le style de soulignement de la police (voir jxl.format.UnderlineStyle ).

xls-font-struck-out

Doit-elle être soulignée? Les valeurs valides sont "true" et "false"

xls-font

Un notation plus courte pour définir toutes ces valeurs. Indiquez le nom de la police à la fin et utilisez les graduations de la polices avec des espaces entre eux, par exemple 'Times New Roman'. Utilisez "italic", "bold" et "struckout".

Example style="xls-font: red bold italic 22 Verdana"

Ce groupe d'attributs XLS-CSS déinissent les bordures de la cellule

xls-border-left-color

La couleur de la bordure pour la bordure gauche de la cellule (voir jxl.format.Colour ).

xls-border-left-line-style

Le style de la ligne de bordure de la bordure gauche de la cellule (voir jxl.format.LineStyle ).

xls-border-left

Un raccourci pour définir le style de la ligne et la couleur de la bordure gauche de la cellule, par exemple style="xls-border-left: thick red"

xls-border-top-color

La couleur de la bordure pour la bordure suppérieure de la cellule (voir jxl.format.Colour ).

xls-border-top-line-style

Le style de la ligne de la bordure du bord suppérieur de la cellule (voir jxl.format.LineStyle ).

xls-border-top

Un raccourci pour définir le style de la ligne et de la couleur de la bordure suppérieure de la cellule, par exemple style="xls-border-top: red thick"

xls-border-right-color

La couleur de la bordure de la bordure droite de la cellule (voir jxl.format.Colour ).

xls-border-right-line-style

Le style de la ligne de bordure de la bordure de droit de la cellule (voir jxl.format.LineStyle ).

xls-border-right

Un raccourci pour définir le style de la ligne et la couleur pour la bordure droit de la cellule , par exemple style="xls-border-right: thick red"

xls-border-bottom-color

La couleur de la bordure de la bordure inférieure de la cellule (voir jxl.format.Colour ).

xls-border-bottom-line-style

Le style de ligne de bordure dans le bord inférieur de la cellule (voir jxl.format.LineStyle ).

xls-border-bottom

Un raccourci pour définir les réglages du style de la ligne pour la bordure inférieure de la cellule , par exemple style="xls-border-bottom: thick red"

xls-border

Une version courte pour définir un style de ligne et de couleur pour toutes les bordures de la cellule, par exemple style="xls-border: thick red"

Ce groupe d'attributs XLS-CSS définissent l'arrière plan de la cellule

xls-background-color

La couleur de l'arrière plan (voir jxl.format.LineStyle ).

xls-background-pattern

Le patron de l'arrière plan (voir jxl.format.Pattern ).

xls-background

Un raccourci pour définir la couleur d'arrière plan et le patron. Voir plus loiin les règles.

Ce group d'attributs XLS-CSS définissent les largeurs de la colonne etc.

xls-column-width

La largeur de la colonne. Utilisez une valeur importante (~5000) pour commencer. Utiliser par e:column dans le mode xhtml.

xls-column-widths

La largeur de la colonne? Utilisez les valeurs importante (~5000) pour commencer. Utiliser par l'exportateur d'excel, à indiquer dans l'attribut de style de la table de données. Utilisez des valeurs numériques ou * pour laisser libre une colonne.

Exemple style="xls-column-widths: 5000, 5000, *, 10000"

xls-column-autosize

Faut il avoir une taille automatique pour la colonne? Les valeurs valides sont "true" et "false".

xls-column-hidden

La colonne doit elle être cachée? Les valeurs valides sont "true" et "false".

xls-column-export

La colonne doit elle être montrée dans l'exportation? Les valeurs valides sont "true" et "false".Par défaut c'est "true".

Ce groupe d'attributs XLS-CSS dé"finissent les propriétés de cellule

xls-alignment

L'allignement de la valeur de la cellule (voir jxl.format.Alignment ).

xls-force-type

Le type forcé de la donnée de la cellule. La valeur est une chaine de caractères qui peut être une de celle-ci "general", "number", "text", "date", "formula" or "bool". Le type est automatiquement détecté donc c'est rare de devoir utiliser cet attribut.

xls-format-mask

Le masque de format de la cellule, voir Section 19.6.2, «  Masque de formatage »

xls-indentation

L'indentation de la valeur de la cellule. La valeur est un nombre.

xls-locked

Faut-il que la cellule soit vérouillée. A utiliser avec le niveau de vérouillage du classeur. Les valeurs valides sont "true" et "false".

xls-orientation

L'orientation de la valeur de la cellule (voir jxl.format.Orientation ).

xls-vertical-alignment

L'alignement verticale de la valeur de cellule (voir jxl.format.VerticalAlignment ).

xls-shrink-to-fit

Les valeurs de la cellules doivent être réduite pour correspondre? Les valeurs valides sont "true" et "false".

xls-wrap

La cellule doit elle s'étendre avec des nouvelles lignes ? Les valeurs valides sont "true" et "false".

Il ya seulement deux clefs livrées utilisées, les deux pour des formatage de données invalides et les deux prennent une paramètree (la valeur invalide)

Le coeur des fonctionnalitées de the Microsoft® Excel® spreadsheet application est basé sur l'excelente bibliothèque JExcelAPI qui peut être trouvé sur http://jexcelapi.sourceforge.net/ et la plus part des fonctionnalités et les limitations possibles ont été héritées.

Si vous utiliser le forum ou les listes de diffusions, merci de vous rappelez qu'ils ne connaissent rien à propos de Seam et de l'utilisation de ses bibliothèques, tout problèmes doivent être indiqués dans le JBoss Seam JIRA dans le module "excel".