Salut tout le monde !

J'essaie de suivre un tuto du labo microsoft mais j'ai un problème...

Le but de ce tuto est d'écrire dans des "contenu" word via du code c#.

J'ai donc ce code :

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
 
FileStream fs = null;
                Package pckg = null;
 
                //Ouvre le fichier
                Stream stmTemplate = new FileStream("C:\\test\\test.docx", FileMode.Open);
                BinaryReader brTemplate = new BinaryReader(stmTemplate);
 
                //Créé nouveau template
                Stream stmWrite = File.Create("C:\\test\\test2.docx");
                BinaryWriter bwDocument = new BinaryWriter(stmWrite);
                bwDocument.Write(brTemplate.ReadBytes((int)stmTemplate.Length));
 
                //ferme des documents
                bwDocument.Flush();
                bwDocument.Close();
                brTemplate.Close();
                stmWrite.Close();
 
 
                //chargement du docx
                fs = File.Open("C:\\test\\test2.docx", FileMode.Open, FileAccess.ReadWrite);
                pckg = Package.Open(fs, FileMode.Open, FileAccess.ReadWrite);   //accès en lecture/écriture
 
                ModifyCustomXML(pckg);
et


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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
protected void ModifyCustomXML(Package pckg)
        {
            //fichier qui contient la partie personnalisable cela peut changer en fonction des fichiers
            Uri customXmlUri = new Uri("/customXml/item1.xml", UriKind.Relative);
 
            //Permet de récupérer cette part
            PackagePart customXmlPart = pckg.GetPart(customXmlUri);
 
            //on charge  le document dans un document linq
            XDocument xmldoc = XDocument.Load(XmlReader.Create(new StreamReader(customXmlPart.GetStream())));
 
            //on parcourt le xml pour mettre les éléments
            foreach (XElement item in xmldoc.Descendants())
            {
                switch (item.Name.LocalName)
                {
                    //premier champ
                    case "myName":
                        item.Value = "monnom";
                        break;
 
                    case "myPrenom":
                        item.Value = "monprenom";
                        break;
                }
            }
 
            //on remet le pointeur au début
            customXmlPart.GetStream().Seek(0, SeekOrigin.Begin);
 
            //met le document XML dans le XMLWriter pour l'écriture après
            XmlWriter xmlwriter = XmlWriter.Create(customXmlPart.GetStream());
 
            //ecriture du fichier xml
            xmldoc.WriteTo(xmlwriter);
 
            //on ferme les fichiers
            xmlwriter.Flush();
            xmlwriter.Close();
 
        }

Cela modifie bien les zones "contenu" du document word, par contre lorsque j'ouvre mon document avec word, je ne vois pas mon contenu apparaître...!

Des idées...?

Merci !