C#: Ouvrir un fichier Excel, ajouter des donneés, et enregistrer
Bonjour les amis,
Je veux simplement ouvrir un fichier Excel via C#, y ajouter des données, puis fermer en enregistrant (sans écraser les précédantes donnée).
voici ma tentative:
Code:
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
|
Microsoft.Office.Interop.Excel.Application appli;
Microsoft.Office.Interop.Excel._Workbook classeur;
Microsoft.Office.Interop.Excel._Worksheet feuille;
object M = System.Reflection.Missing.Value;
object FileName = "c:\\MonFichierExcel.xls";
private void button1_Click(object sender, EventArgs e)
{
try
{
appli = new Microsoft.Office.Interop.Excel.Application();
appli.Visible = false;
//---------- création du classeur ---------
classeur = (Microsoft.Office.Interop.Excel._Workbook)(appli.Workbooks.Open("c:\\MonFichierExcel.xls", M, M, M, M, M, M, M, M, M, M, M, M, M, M));
//------ activer la feuille ----------
feuille = (Microsoft.Office.Interop.Excel._Worksheet)classeur.ActiveSheet;
//Remplir les en-têtes
feuille.Name = "Entete Quitance";
feuille.Cells[1, 1] = "Nom";
feuille.Cells[1, 2] = "Prénom";
feuille.Cells[1, 3] = "Age";
//----- Auto-Enregistrement ---------------
classeur.Close(true, FileName, M);
}
catch (Exception ex) { MessageBox.Show("erruer est: " + ex.Message); }
finally
{
//----- Quitter ------
feuille = null;
classeur = null;
appli.Quit();
appli = null;
}
} |
Avant d'éxecuter ce code, j'ai mis en place le fichier Excel à ouvrir (pour que ça marche).
L'éxecution de ce code me donne l'affichage d'un messageBox qui contient:
Un fichier nommé 'c:\MonFichierExcel.xls' existe déjà à cet emplacement.
Voulez-vous le remplacer ?
Mais moi, je veux que le programme enregistre automatiquement sans me demander de le remplacer.
J'ai tenté autre façon, j'ai remplaçé classeur.Close(true, FileName, M); par appli.Save(FileName); mais ça donne la même chose (même messageBox).
s'il vous plaît, si vous avez n'importe quelle suggéstion à ce propos, n'hésitez surtout pas à me la communiquer, j'en ai vraiment besoin, et Merci d'avance.
_______________________________________________
Rien n'est impossible, il suffit de savoir comment !