begin process at 2012 05 27 06:04:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.NET

 > BULK COPY EXCEL VERS SQL SERVER

BULK COPY EXCEL VERS SQL SERVER


 Information sur la source

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :.NET Source .NET ( DotNet ) Classé sous :excel, sql, bulkcopy Niveau :Débutant Date de création :28/02/2007 Date de mise à jour :28/02/2007 17:20:08 Vu / téléchargé :17 344 / 870

Auteur : MorpionMx

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


 Description

Une question qu'on retrouve souvent sur le forum : Comment copier des données provenant d'un classeur excel vers SQL Server
Voici une méthode simple qui charge en bloc les données vers une table SQL Server

Source

  • 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);
  • }
  • }
  • }
  • }
  • }
  • }
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);
                    }
                }
            }
        }
    }
}

 Conclusion

Prenons comme exemple un fichier excel avec 2 colonnes : ID et Libelle, il faut que la table de destination contienne elle aussi ces 2 colonnes.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

28 février 2007 17:20:08 :
Mise en forme

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) CREATION D'ANAGLYPHES - PHOTOS EN RELIEF
Source avec Zip Source avec une capture Source .NET (Dotnet) THREAD ET PROGRESSBAR - EXEMPLE SIMPLE
Source avec Zip Source avec une capture Source .NET (Dotnet) XNA FRAMEWORK : UTILISATION DE BOUDINGSPHERE ET BOUNDINGBOX
Source avec Zip Source avec une capture Source .NET (Dotnet) XNA FRAMEWORK : CRÉATION D'UN SCROLLINGBACKGROUND
Source avec Zip Source .NET (Dotnet) INSERTION ET RÉCUPERATION D'UNE IMAGE EN BASE DE DONNÉES

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GESTION DES ASSURANCE DE CLIENTS par okosa
Source avec Zip Source .NET (Dotnet) CSHARP-WINDOWS-PHONE-7-- OPENSTACK NOVA CLIENT :: MADE BY "N... par jalel1234
Source .NET (Dotnet) CLASSE D'ENVOIE DE MAIL PAR SMTPCLIENT par wortmany
Source .NET (Dotnet) SÉRIALISATION (BINAIRE) OBJECT, IMAGE, CLASS ... par wortmany
Source avec Zip Source avec une capture Source .NET (Dotnet) ORIONBANQUE par toutphp

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) GESTIONNAIRE DES TODO DISSEMINES UN PEU PARTOUT DANS VOS COD... par dodo7263
Source avec Zip Source avec une capture Source .NET (Dotnet) PROJECTMANAGER par dodo7263
Source avec Zip Source .NET (Dotnet) CRYSTALREPORT C# SQLSERVER par badis1996
Source avec Zip Source .NET (Dotnet) EXCEL SERVER par TheOnlyMaX
Source avec Zip Source avec une capture Source .NET (Dotnet) EXPORT DE DONNÉES DE SQL VERS EXCEL par Cameleon69

Commentaires et avis

Commentaire de okok1 le 19/07/2007 19:01:34

ca me donne une erreur: bulkCopy est introuvable...

Commentaire de MorpionMx le 19/07/2007 20:20:28 administrateur CS

elle est déclarée dans le bloc using ;)

Commentaire de soupiste le 03/11/2009 12:31:51

super code ! mais lorsque je le modifie pour mon cas d'export de ma feuille, je me retrouve face à un problème de type de données entre la source excel et les colonnes de ma table.
Mes colonnes de table sont de type nvarchar(10) ou nvarchar(100) et float.
Une exception se produit, me disant IMPOSSIBLE DE CONVERTIR LE TYPE STRING DE LA SOURCE DE DONNEES EN NVARCHAR DE LA DESTINATION.

Commentaire de ilham150 le 22/04/2010 03:57:27

Bonsoir ,
Moi aussi ça me donne une erreur le voilà "Le format de la chaîne d'entrée est incorrect"
il me le donne dans la ligne bluckcopy.WriteToServer(reader)
sachant que j'ai utilisé ce code en asp.net
alors qu'est ce que je dois faire????

Commentaire de guarsa le 07/05/2010 09:44:30

c vraiment génial,
votre code m a beaucoup aidé
un grand merci

Commentaire de soupiste le 07/05/2010 11:05:38

j'ai de mon cote du mal a faire l'importation des colonnes contenant les dates. Quelqu'un pourrait-il m'y aider ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

BULKCOPY depuis excel vers SQL SERVER [ par soupiste ] Salut à toute la communauté. 1- Grâce à un DATATABLE, j'affiche une feuille excel par un programme c# dans un datagridview . 2- Je voudrais faire en excel.csv vers BD sql Serveur [ par dimabab ] bonjour svp jai un problème deja j'ai jamais travaillé sur excel.csv et pourtant je suis obligé dans mon projet d'importer fichier csv vers BD sql ser DSN [ par Zakki49 ] Bonjour, Tout d'abord excusez moi si je ne suis pas dans la bonne section. Donc voilà, je voudrais, à partir de n'importe quel DSN (sql, excel, xml, Utilisation Bulk Copy excel vers SQL Server [ par malo35 ] BonjourJe 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 Données excel vers Sql server 2005 [ par yorundr ] Bonjour,ce que je cherche a faire peut paraitre simple, seulement je n'y arrive pas. Ce qu'il faudrait que je fasse c'est importer les données de mon Importation données excel pour SQL server [ par T103 ] Bonjour à tous,J'ai un fichier Excel dans lequel j'ai plusieurs lignes que je voudrais mettre dans un dataSet.J'ai donc utilisé ce code là pour le fai Exporter les données d'une base SQL vers Excel [ par TmDsbsBs ] Bonjour,j'ai une base de données SQL Server, et je souhaite exporter ses données vers un fichier en .xls lorsque l'utilisateur le décide.Mais je ne tr Exporter des deonnes de SQL Server vers l"Excel [ par ad_sayouri ] Salut! Je suis en train de développer une application intranet en C#, dans une  interface je liste les données dans une datagrid et j'aimerais bien sa Copier des données de excel vers SQL server 2000 [ par ABDOULRAMZY ] Bonjour, je suis un débutant en csharp et je veux qu'on m'aide à écrire un programme qui me permettra de copier des données contenues dans un fichier contenu de la table sql [ par beny100 ] bonjour,j'ai un problème pendant mon export en excel même quanr le contenu de la table d'ou la requette s'effectue est vide elle me renvoie une page e


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales