cs_malo35
Messages postés4Date d'inscriptionmardi 8 janvier 2008StatutMembreDernière intervention 1 mai 2008
-
1 mai 2008 à 11:51
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
1 mai 2008 à 22:03
Bonjour
Je débute en DotNet , j'ai commencé l'ébauche d'un site.
Mais avant d'aller plus loin, je cherchais la possibilité d'importer mes données excel dans une table sql server 2005 express.
Votre code me parait idéal pour le faire , sauf quand je lance le programme sous C# ,il me dit
qu'il ne connait pas l'objet Feuill1$.
Quelle est la bonne démarche pour utiliser ce code? Ou doit être placé le fichier excel ainsi que
la base sql server 2005 express?
cs_malo35
Messages postés4Date d'inscriptionmardi 8 janvier 2008StatutMembreDernière intervention 1 mai 2008 1 mai 2008 à 20:35
Bonjour
Effectivement ça manquait d'infos pour répondre
Sur ce site : csharpfr.com
catégorie .net
classé sou s: excel sql bulkcopy
auteur : MorpionMx
* using System;
* using System.Data.OleDb;
* using System.Data.SqlClient;
*
* namespace BulkCopy
* {
* class Program
* {
* static void Main(string[] args)
* {
* // La chaine de connexion au fichier excel (changer DataSource)
* string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Classeur1.xls;Extended Properties=""Excel 8.0;HDR=YES;""";
* // La chaine de connexion au sgbd
* string sqlConnectionString = "Data Source=localhost;Initial Catalog=TestDB;Integrated Security=True";
*
* // On crée la connexion au classeur excel
* using (OleDbConnection connection = new OleDbConnection(excelConnectionString))
* {
* // Changer les champes et le nom de la feuilles en gardant [$]
* OleDbCommand command = new OleDbCommand("Select ID, Libelle FROM [Feuil1$]", connection);
* connection.Open();
*
* // On execute la commande
* using (OleDbDataReader reader = command.ExecuteReader())
* {
* // Et on fait un bulk copy vers la table sql
* using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
* {
* bulkCopy.DestinationTableName = "TestTable";
* bulkCopy.WriteToServer(reader);
* }
* }
cs_malo35
Messages postés4Date d'inscriptionmardi 8 janvier 2008StatutMembreDernière intervention 1 mai 2008 1 mai 2008 à 21:48
Si j'ai mis exactement le même nom (nom par défaut sous excel), j'ai essayé avec et sans le $.
Mon classeur se nome également Classeur1.xls.
Ce que je ne comprends pas c'est qu'il n'y ait pas de chemin pour localiser
ce classeur.J'ai donc essayé de mettre le chemin du fichier c:\...\Classeur.xls pour la Data Source .... mais c'est toujours la même erreur.
Vous n’avez pas trouvé la réponse que vous recherchez ?