IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Récupérer le nom de ma feuille excel à partir d'un formulaire vb.net


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Récupérer le nom de ma feuille excel à partir d'un formulaire vb.net
    Aidez moi SVP
    j'ai un formulaire ou il ya un bouton qui me permet de ouvrir une fenetre de dialogue pour chercher un fichier excel.
    Le problème c'est que l'utilisateur peut chercher un fichier excel dont le nom de la première feuille peut être différent de celui dans ma chaîne de connexion.
    alors je veux savoir comment récupérer le nom de la première feuille du fichier excel sélectionné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim mycon As System.Data.OleDb.OleDbConnection
            Dim Dst As System.Data.DataSet
            Dim mycomd As System.Data.OleDb.OleDbDataAdapter
     
            Dim selectedFile As String = String.Empty
     
            ' Pour afficher l'OpenFileDialog 
            OpenFileDialog1.ShowDialog()
     
            ' Pour insérer l'emplacement du fichier choisi dans le TextBox 
            selectedFile = OpenFileDialog1.FileName
            Dim conString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & selectedFile & ";Extended Properties=""Excel 12.0 Xml;HDR=Yes"""
            mycon = New System.Data.OleDb.OleDbConnection(conString)
            mycomd = New System.Data.OleDb.OleDbDataAdapter("select * from [Feuil1$]", mycon)
            mycomd.TableMappings.Add("Table", "TestTabe")
            Dst = New System.Data.DataSet
            mycomd.Fill(Dst)
     
        End Sub

  2. #2
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Points : 929
    Points
    929
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    41
    42
    43
    44
    45
    Imports excel = Microsoft.Office.Interop.Excel
      Private dr As New DataSet
        Private Connection As New OleDbConnection
        Private objexcel As New excel.Application
        Private xlWorkBooks As excel.Workbooks
        Private xlBook As excel.Workbook
        Private xlworksheet As excel.Worksheet 
     
     Private Sub Initdb(ByVal path As String)
            Try
                Connection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.12.0;" + path & ";Extended Properties=""Excel 12.0;HDR= YES""")
                Connection.Open()
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End Sub
     
    Private Function GetDataFromExcel(ByVal path As String) As DataSet
            Dim sql As String
            Dim ObjetCommand As New OleDbCommand
            Dim da As OleDb.OleDbDataAdapter
            Dim ds As New DataSet
     
            Dim sheetname As String
            xlWorkBooks = objexcel.Workbooks
            xlBook = xlWorkBooks.Open(path)
            xlworksheet = CType(xlBook.ActiveSheet, excel.Worksheet)
            sheetname = xlworksheet.Name
            sql = "select * from [ sheetname] "
            Try
                ObjetCommand = New OleDbCommand(sql)
                ObjetCommand.Connection() = Connection
                da = New OleDbDataAdapter(ObjetCommand)
                Connection.Close()
                da.Fill(ds, "Table")
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
            Return ds
        End Function
     
        Private Sub OpenFileDialog1_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
            Initdb(DirectCast(sender, OpenFileDialog).FileName)
            dr = GetDataFromExcel(DirectCast(sender, OpenFileDialog).FileName)
        End Sub
    le problème avec ce code c'est qu'un processus excel.exe est crée et qu'il faut le fermer
    ici

Discussions similaires

  1. [XL-2007] récupérer le nom d'une feuille d'un classeur excel fermé
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/07/2011, 14h23
  2. [WD-2007] récupérer le nom d'une feuille d'un classeur excel fermé, depuis word
    Par markelov dans le forum VBA Word
    Réponses: 0
    Dernier message: 24/02/2010, 11h33
  3. Récupérer le nom d'une feuille excel avec ADO
    Par Kephuro dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/01/2008, 21h11
  4. Mise en forme d’une feuille excel à partir de
    Par rana dans le forum Access
    Réponses: 9
    Dernier message: 21/12/2005, 15h20
  5. Réponses: 5
    Dernier message: 05/07/2005, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo