[.NET] Alternative aux PIA Microsoft

Résolu/Fermé
Yog-Sothoth Messages postés 87 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 9 juillet 2008 - 20 mai 2008 à 10:25
Yog-Sothoth Messages postés 87 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 9 juillet 2008 - 21 mai 2008 à 09:33
Bonjour,

Je vous expose mon problème : je dois créer une appli qui soit capable de prendre des données dans des fichiers Excel de taille variable (en termes de nombres de colonnes et, évidemment, de lignes), les stocker dans une base de donnée, les traiter, pour finir par retrouver en sortie des fichiers excel de contrôles de gestion de projet (graphiques, statistiques etc...).

La première partie ne me pose pas (plus) de problèmes, et la seconde attendra qu'on valide la faisabilité de la troisième. En effet pour insérer de quelconques données dans un fichier Excel comme on le ferait avec des requetes SQL (fonctionnement imposé par la base de données), il faut que les cellules qui vont reçevoir l'information soient "nommées".

Le premier problème est que, même en utilisant les PIA microsoft qui ajoutent le namepsace "Microsoft.Office.Interop.Excel", je n'ai à priori aucun moyen de créer un fichier, il faut qu'il soit déjà crée car on ne peut que l'ouvrir.
Le second problème est que, dans l'hypothèse où cette solution plutot bancale serait néanmoins retenue, je ne vois aucune méthode/propriété qui me permette de nommer une zone de cellules (que ce soit en passant par Range ou Area)...

J'ai bien vu une librairie très chouette (Syncfunction.XlsIO) mais elle est fournie pas une entreprise, et est payante (les binaires sont à 780$ environ... :s), ce qui ne convient évidemment pas pour ce projet.

Bref je suis "pieds et poings liés". Avez-vous une solution qui traine ? Merci d'avance.
A voir également:

1 réponse

Yog-Sothoth Messages postés 87 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 9 juillet 2008 7
21 mai 2008 à 09:33
- Rebonjour, moi même, bonne journée ?
- Moui pas mal, et moi ?
- Ca peux aller, je m'autoforme, je parle seul sur un thread.


Ahem... Bref ! J'ai trouvé un moyen de créer un fichier Excel réellement, voilà le code :

En haut (dans les namespaces)
using Excel = Microsoft.Office.Interop.Excel.ApplicationClass;
using Workbooks = Microsoft.Office.Interop.Excel.Workbooks;
using Workbook = Microsoft.Office.Interop.Excel.Workbook;
using Worksheet = Microsoft.Office.Interop.Excel.Worksheet;
using AccessMode = Microsoft.Office.Interop.Excel.XlSaveAsAccessMode;


En bas (dans le code)
Excel fichierExcel = new Excel();
fichierExcel.Visible = true;
Workbook wokrbook = fichierExcel.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Worksheet worksheet = (Worksheet)wokrbook.Worksheets[1];

if (worksheet == null)
{
       Console.WriteLine("Worksheet could not be created. Check that your office installation and project references are correct.");
}


Une question ? Un problème ? Démerdez-vous :-D !
0