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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| public void generateDocument()
{
// Connexion à Word
string pathTemplates = Server.MapPath("./templates/");
string pathDocuments = Server.MapPath("./Documents/");
string pathImgBefore = Server.MapPath("./Upload/imageBefore.jpg");
string pathImgAfter = Server.MapPath("./Upload/imageAfter.jpg");
Object myFalse = false ;
Object myTrue = true ;
Microsoft.Office.Interop.Word.Application msWord = new Microsoft.Office.Interop.Word.Application();
msWord.Visible = false; // mettez cette variable à true si vous souhaitez visualiser les opérations.
object missing = System.Reflection.Missing.Value;
// Attribuer le nom
object fileName = pathDocuments + "rapport.doc";
Microsoft.Office.Interop.Word.Document nvDoc = new Microsoft.Office.Interop.Word.Document();
// Tester s'il s'agit d'un nouveau document ou d'un document existant.
if (System.IO.File.Exists((string)fileName))
{
// ouvrir le document existant
nvDoc = msWord.Documents.Open(ref fileName, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing);
}
else
{
// Choisir le template
object templateName = pathTemplates + "template2.dot";
// Créer le document
nvDoc = msWord.Documents.Add(ref templateName, ref missing, ref missing, ref missing);
}
// On remplit les champs du template
object field = "date";
nvDoc.FormFields.get_Item(ref field).Result = DateTime.Today.ToShortDateString();
field = "choix1";
nvDoc.FormFields.get_Item(ref field).Result = choix1;
field = "choix2";
nvDoc.FormFields.get_Item(ref field).Result = choix2;
field = "controles";
for (int i = 1; i < tabControles.Length; i++)
{
nvDoc.FormFields.get_Item(ref field).Result += "- " + tabControles[i];
}
field = "c1";
nvDoc.FormFields.get_Item(ref field).Result = c1;
field = "c2";
nvDoc.FormFields.get_Item(ref field).Result = c2;
field = "c3";
nvDoc.FormFields.get_Item(ref field).Result = c3;
field = "c4";
nvDoc.FormFields.get_Item(ref field).Result = c4;
field = "c5";
nvDoc.FormFields.get_Item(ref field).Result = c5;
field = "imgBefore";
nvDoc.FormFields.get_Item(ref field).Result = "";
Object imgRange = nvDoc.FormFields.get_Item(ref field).Range;
nvDoc.InlineShapes.AddPicture(pathImgBefore, ref myFalse, ref myTrue, ref imgRange);
field = "imgAfter";
nvDoc.FormFields.get_Item(ref field).Result = "";
imgRange = nvDoc.FormFields.get_Item(ref field).Range;
nvDoc.InlineShapes.AddPicture(pathImgAfter, ref myFalse, ref myTrue, ref imgRange);
//Fin remplissage des champs
// Sauver le document
nvDoc.SaveAs(ref fileName, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing);
object saveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdSaveChanges;
// Fermer le document
((Microsoft.Office.Interop.Word._Document)nvDoc).Close(ref saveChanges, ref missing, ref missing);
// Fermeture de word
((Microsoft.Office.Interop.Word._Application)msWord).Quit(ref missing, ref missing, ref missing);
} |
Partager