IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Discussion :

Composer un document xls


Sujet :

Conception

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Composer un document xls
    Bonjour

    J'ai une application qui doit composer des rapports relativement simples normalement en excell

    La seule complication serait des ligne de titre fusionées

    J'envisage plusieurs possibilité

    1- Produire des fichier texte et creer une macro d'importation pour le client
    2- Produire des fichiers dans un format XML ou equivalent qui donnerait le template excell
    3- Produire directement le fichier Excell


    La 3eme solution est la moins bonne car cette application doit tourner sur un web sever pour envoyer le document par e-mail

    Ou alors j'oublie Excel et je produit un Html a imprimer sur page Web

    Des idées ?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Un problème clairement exposé est aux trois quarts résolu... Tu es certain de nous avoir clairement exposé ton problème ?

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Je vais le dire plus simplement

    Depuis un serveur web je dois composer des rapports a envoyer par e-mail
    Ces rapport sont des simple tableau et le client demande a priori de recevoir un XLS

    Le plus simple pour moi est de composer un fichier texte tab délimité que j'appelle machin.xls et hop ni vu ni connu Excell l'ouvre parfaitement

    Mais il y a un hic !


    Pour etre tout a fait beau, le tableau devrait contenir deux lignes de header

    Exemple :
    Sur la premiere ligne
    2 Cellulles : Debut et Fin
    Dans la deuxèime ligne
    4 Cellules
    Date,Heure,Date,Heure

    Pour resoudre cela j'ai plusieurs choix

    1- soit oublier Excel produire le tableau en HTML
    2- soit trouver une methode simple pour faire digerer un fichier a Excel un fichier basé texte qui permettrait la fusion de cellules

    ...
    Ou en définitive oublier ce decor inutile si cela nécessite des chipotage trop lourd !

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Je ne sais pas en quel langage tu programmes sur ton serveur web, mais a priori, tu dois pouvoir gérer des objets Excel en te connectant sur la librairie idoine, et donc:
    - créer un nouveau fichier sur base d'un template excel
    - y injecter tes données
    - enregistrer le fichier
    - l'envoyer

    Si la mise en page est basique (juste tes entêtes), tu peux directement créer un nouveau fichier excel via ton langage (php, asp, coldfusion, ...)

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Bonjour

    Je travaille en Csharp
    Mais je n'ai pas vraiment envie d'installer des librairie office sur le serveur

    Ma solution de produire un tab delimité nommé *.xls permet a Excel de l'ouvrir directement

    Par contre ca ne me permet pas de fusionner des cellules dans les lignes d'entete

    S'il y a un moyen simple de faire un tout petit peu de formatage je suis preneur sinon tant pis pour les décors j'ai pas trop envie de me prendre la tete avec des librairies office ou de l'OLE c'est toujours

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Je ne vois pas de solution pour la fusion de cellules sans passer par la manipulation des objets Excel via la librairie.

    Tu envoies des fichiers XLS ou XLSX (version 2007)?

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Bonjour

    A priori XLS
    XLSX offre d'autres possibilités ?

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Oui.

    Les XLSX et XLSM sont en fait des fichiers ZIP qui sont décompressés par Excel à l'ouverture.

    A l'intérieur du zip, un dossier XL contenant un dossier Worksheets contenant un fichier XML par feuille.

    Ce fichier contient les données, mais aussi les propriétés des cellules.

    Il est ainsi possible d'aller modifier ce fichier sans librairie Excel...

    Heu... Je n'ai pas dit que c'était simple, mais en se servant d'un fichier Excel déjà préconfiguré, il y a probablement moyen de t'en sortir...

  9. #9
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Pierre

    Tu viens de repondre au point deux de ma qustion initiale

    Produire des fichiers dans un format XML ou equivalent qui donnerait le template excell
    Je garde cette idée au coin du feu, elle me plait

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Il faut noter que certaines données sont indexées dans ces fichiers.

    Les chaines de caractères, par exemple, sont reprises dans un fichier à part (sharedStrings.xml dans le dossier XL) et sont indexées en commençant à 0. La balise <v> d'une cellule contenant une chaine contient alors l'index de cette chaine.

    Par exemple, l'extrait de sheet1.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    - <c r="A1" s="3" t="s">
      <v>0</v>
    signifie que la cellule A1 de la feuille concernée contient du texte (t="s") et que la chaine contenue est la première de la liste (<v>0</v>), soit la chaine Recu du sharedStrings.xml suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
    - <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="6" uniqueCount="4">
    - <si>
      <t>Recu</t> 
      </si>
    - <si>
      <t>Envoyé</t> 
      </si>
    - <si>
      <t>Date</t>

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/06/2010, 10h26
  2. Répertoire d'ouverture d'un document.xls
    Par pasclaire dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2009, 10h41
  3. parcourir document xls
    Par boubounne dans le forum VB.NET
    Réponses: 13
    Dernier message: 28/01/2007, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo