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 :

Importation tableau html dans fichier .csv ou excel


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Points : 22
    Points
    22
    Par défaut Importation tableau html dans fichier .csv ou excel
    Bonjour tt le monde ,
    Je voudrais savoir s'il est possible d'importer un tableau html d'une page web vers un fichier .csv ou excel
    Si c'est possible pourriez vous me dire comment ??
    merci d'avance pour votre aide

  2. #2
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    donc,
    table html =
    <table>
    <tr><td></td></tr>
    </table>

    le <table> et </table> on les vire, il ne nous servent à rien,
    le <tr> et </td> aussi !

    Il faut remplacer </td> par un séparateur ("," par exemple)
    et </td> par un @"\r\n"


    Donc, Tu te crées une petite app sur le coté,
    et soit :
    Tu récupères la chaine html contenant ton tableau et tu utilises une succession de replace ("xxx","yyy") pour les règles ci dessus,
    soit tu passes par une regex, avec les mêmes règles

    Voilou

  3. #3
    Membre actif Avatar de yroubag
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 224
    Points
    224
    Par défaut
    Salut

    Autre solution possible: Excel gère la copie de tableau HTML en tenant compte du design (couleurs, bordures...).
    J'ai déjà fait via une application .Net un générateur de tableau qui était copié dans le presse-papier en HTML, l'utilisateur devait ensuite le coller manuellement dans Excel. Bref, il ne te resterait qu'à trouver comment coller automatiquement le tableau HTML dans Excel.

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    ok j'essaye les deux.. je vous tiens au courant

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Bonjour,
    pour la 1ère solution, j'ai aucune idée comment faire, j'ai essayé ce code là ke j'ai trouvé :
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    Private Sub collecterInfos()
     
            Dim xlApp As excels.Application
            Dim xlClasseur As excels.Workbook
            Dim xlFeuill As excels.Worksheet
            Dim siteWeb As String
            Dim chaine As Integer
            Dim myProcesses() As Process
            Dim myProcess As Process
            Dim misvalue As Object = System.Reflection.Missing.Value
     
            xlApp = CreateObject("Excel.Application")
            xlClasseur = xlApp.Workbooks.Add ' Ajout d'un classeur
            xlFeuill = xlClasseur.Worksheets(1) ' Ajout d'une feuille
     
     
            ' Modification de la chaine dans le cas où l'index de la combo est supérieur à 2
            ' Car sur le site d'où proviennent mes infos les index sont incrémentés 1, 2, 10, 11, 12, 13,... (saut de 2 à 10)
            If cboChaine.SelectedIndex > 2 Then
                chaine = cboChaine.SelectedIndex + 8
            Else
                chaine = cboChaine.SelectedIndex + 1
            End If
     
            ' Construction de l'URL
            ' REM : recherche des infos sur le site de la TSR
            siteWeb = "http://www.tsr.ch/tsr/index.html?siteSect=601000&idChaine=" & chaine & "&jourD=" & cboJour.Text & "&Ftime=1"
     
     
     
            xlApp.UserControl = True
            Dim oldCI As System.Globalization.CultureInfo = _
                System.Threading.Thread.CurrentThread.CurrentCulture
            System.Threading.Thread.CurrentThread.CurrentCulture = _
                New System.Globalization.CultureInfo("en-US")
            xlApp.Workbooks.Add()
            System.Threading.Thread.CurrentThread.CurrentCulture = oldCI
     
            xlApp = New excels.ApplicationClass
            xlClasseur = xlApp.Workbooks.Add(misvalue)
            xlFeuill = xlClasseur.Sheets("sheet1")
     
     
            ' Macro qui va rechercher les infos sur le site Web
            With xlFeuill.QueryTables.Add("URL;" & siteWeb & "", xlFeuill.Range("A1"))
                .Name = "index.html?siteSect=601000&jourD=" & cboJour.Text & "&Ftime=1&idChaine=" & chaine & ""
                .FieldNames = True
                .RowNumbers = False
                .FillAdjacentFormulas = False
                .PreserveFormatting = True
                .RefreshOnFileOpen = False
                .BackgroundQuery = True
                .RefreshStyle = excels.XlCellInsertionMode.xlInsertDeleteCells
                .SavePassword = True
                .SaveData = True
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .WebSelectionType = excels.XlWebSelectionType.xlSpecifiedTables
                .WebFormatting = excels.XlWebFormatting.xlWebFormattingNone
                .WebTables = "39"
                .WebPreFormattedTextToColumns = True
                .WebConsecutiveDelimitersAsOne = True
                .WebSingleBlockTextImport = False
                .WebDisableDateRecognition = False
                .WebDisableRedirections = False
                .Refresh(BackgroundQuery:=False)
            End With
     
            ' Sélection des cellules dont on a besoin
            txtHoraire.Text = xlFeuill.Range("B3").Text
            txtTitre.Text = xlFeuill.Range("C3").Text
            txtRemarque.Text = xlFeuill.Range("B5").Text
     
            Dim ch As String
            Dim SaveFileDialog1 As New SaveFileDialog()
            Dim result As DialogResult = SaveFileDialog1.ShowDialog()
            If (result = Windows.Forms.DialogResult.OK) Then
                ch = SaveFileDialog1.FileName
                xlFeuill.SaveAs(ch)
                xlApp.Application.Quit()
     
            End If
            ' Contrôle des process
            ' Si un process EXCEL tourne encore je le flingue...
            myProcesses = Process.GetProcesses()
     
            For Each myProcess In myProcesses
                If UCase(myProcess.ProcessName) = "EXCEL" Then
                    myProcess.Kill()
                End If
            Next
     End Sub
    Mais malheureusement ça donne rien .. ça génère pas d'erreurs, juste ça donne pas le résultat attendu..
    je suis vraiment coincée là dessus, help

Discussions similaires

  1. Copier un tableau html dans un tableau Excel
    Par Djobird dans le forum Excel
    Réponses: 4
    Dernier message: 04/07/2011, 19h18
  2. script pour convertir une table HTML en fichier CSV (ou excel)
    Par whitespirit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 20/08/2008, 08h30
  3. Réponses: 4
    Dernier message: 29/02/2008, 11h11
  4. [HTML] Ouverture fichier word ou excel dans une iframe
    Par bobby77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/02/2008, 20h02

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