Manipulation de fichier XML avec Excel 2003 en C#.NET

neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 - 4 nov. 2009 à 11:05
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 - 9 nov. 2009 à 12:57
Bonjour à tous.

Tout d'abord pardonnez moi si je ne suis pas dans la bonne rubrique...

Pouvez-vous m'aider à manipuler des fichiers XML avec Excel 2003 en .NET.

Dans le programme console suivant (cf code ci-dessous), je veux ouvrir un fichier XML avec Excel et l'enregistrer au format XLS (sans me préoccuper de le convertir car je laisse faire Excel).

En n'ommettant pas d'importer ma référence à l'objet COM Interop Excel, j'ai le code suivant qui ne marche pas:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop;
using Microsoft.Office.Interop.Excel;

namespace XML2XLS
{
    class Program
    {
        public static void Main()
        {
            Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();

            object missing = Type.Missing;
            string xmlFile = @"fichier.xml";
            string excelFile = @"fichier.xls";

            Microsoft.Office.Interop.Excel.Workbook excelWb = excelApp.Workbooks._OpenXML(xmlFile, missing);

            // Console.WriteLine("Format " + excelWb.FileFormat.ToString(), missing, missing);

            excelWb.SaveAs (excelFile, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing,);
            excelWb.Close(missing, missing, missing);
            excelApp.Quit();

            excelApp = null;
            excelWb = null;

            Console.WriteLine("Export {0} to {1} successfully", xmlFile, excelFile);
        }

    }
}

4 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
4 nov. 2009 à 15:56
hi,

Le moyen le plus simple et rapide de générer des XML ou les lire, utilise le DataSet : DS.WriteXML(...), DS.ReadXML(...)

Sinon tu devra fair eun parser ou alors passer par du Linq

Chris...
- Le sens vital n'est pas un sens unique -
0
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
5 nov. 2009 à 09:44
Je te remercie pour ta réponse mais je ne veux justement pas passer par un parseur XML, je tiens à ce que ce soit Excel qui me convertisse mes fichiers pour la raison que mes fichiers doivent être ouverts par des billes en informatique qui ne connaissent que Word, Excel et Outlook et je souhaite qu'ils puissent manipuler ces fichiers sans avoir à effectuer aucune manipulation autre que double-cliquer dessus pour avoir un tableau Excel.
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
5 nov. 2009 à 12:37
En Excel 2007, j'utilise la connexion aux données pour me connecté à mes données XML ou SQL, et ensuite j'enregistre le tout comme modèle, avec un rafraichissement des données lors d'un new_document

Et les users font ce qu'ils veullent de ce tableau tout prêt

Chris...
- Le sens vital n'est pas un sens unique -
0
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
9 nov. 2009 à 12:57
Merci cboulas mais j'ai précisé Office 2003...
0
Rejoignez-nous