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

ASP.NET Discussion :

Merge de plusieurs docm


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Par défaut Merge de plusieurs docm
    Salut à tous,

    je voudrais fusionner plusieurs docm en un seul docm mais entre chaque docm que j'ajoute je place un titre. ex:

    Titre 1

    contenu du docm

    Titre 2

    contenu du docm
    ...

    Merci pour l'aide qu'on pourra me donner ;-)

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Par défaut
    J'ai trouvé une solution que voila :

    ici je boucle sur les fichiers que je veux fusionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    var fileTarget = Guid.NewGuid() + ".docx";
    Directory.SetCurrentDirectory("c:\");//pour l'exemple
     
    XNamespace w = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
    XNamespace r = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
     
    using (WordprocessingDocument mainDoc = WordprocessingDocument.Open(fileTarget, true))
    {
       MainDocumentPart mainPart = mainDoc.MainDocumentPart;                
       var i = streamColl.Count();
       foreach (var stream in streamColl)
          {                   
             MergeStream(w, r, mainDoc, mainPart, i, stream.Value);
             i--;
          }
       mainDoc.Close();
    }
    et ici je fusionne les documents word docx,docm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    private static void MergeStream(XNamespace w, XNamespace r, WordprocessingDocument mainDoc, MainDocumentPart mainPart, int i, Stream stream)
            {
                var altChunkId = string.Format("AltChunkId{0}", i.ToString());
                AlternativeFormatImportPart chunk = mainPart.AddAlternativeFormatImportPart(
                    "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml",
                    altChunkId);
     
                chunk.FeedData(stream);
     
                XElement altChunk = new XElement(w + "altChunk", new XAttribute(r + "id", altChunkId));
                XDocument Xdoc;
                using (Stream str = mainDoc.MainDocumentPart.GetStream())
                {
                    using (XmlReader xr = XmlReader.Create(str))
                        Xdoc = XDocument.Load(xr);
                }
     
                Xdoc.Root.Element(w + "body").Elements(w + "p").Last().AddAfterSelf(altChunk);
     
                using (Stream str = mainDoc.MainDocumentPart.GetStream(FileMode.Create, FileAccess.Write))
                {
                    using (XmlWriter xw = XmlWriter.Create(str))
                        Xdoc.Save(xw);
                }
            }
    voila si ce code peut aider quelqu'un j'en serai heureux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Merge de plusieurs feuilles de plusieurs classeurs
    Par Auronake dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/12/2012, 20h42
  2. Merge sur plusieurs tables
    Par huître dans le forum SAS Base
    Réponses: 9
    Dernier message: 24/04/2012, 11h40
  3. merge de plusieurs flux XML
    Par phil0ufr31 dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 15/02/2010, 13h54
  4. [Bonne pratique] Merge avec plusieurs branches
    Par Xavier3131 dans le forum Subversion
    Réponses: 1
    Dernier message: 03/04/2008, 18h23
  5. [XLM/XSL]Merge de plusieurs transformations
    Par sozie9372 dans le forum XSL/XSLT/XPATH
    Réponses: 28
    Dernier message: 21/06/2006, 16h51

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