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 :

Problème Encoding lors de la conversion d'un fichier csv into XLSX


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 1
    Par défaut Problème Encoding lors de la conversion d'un fichier csv into XLSX
    Bonjour,

    Le code est plus bas !!

    Je cherche à charger des fichiers csv en xlsx et j'ai donc élaborer ce code.

    Mon code marche très bien, le seul bémol est que mon fichier csv est en UFT8 et donc quand le xslx est chargé on ne voit pas bien quelques mots.

    J'aimerai régler cela mais je suis à court d'idées.. Si quelqu'un peut aider s'il vous plait.

    Merci Beaucoup.
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
     Sub ChargementExcel()
            '
            '
            '----------------------------------------------------------------------
            '
            '----------------------------------------------------------------------
            '
            '   Déclarations et initialisations des variables locales.
            '
            Dim ListeFichierCSV() As String = Nothing
            Dim CompteurFichier As Integer = 0
            '
            '   Varaibles pour Excel
            '
            Dim xlapp As Excel.Application = Nothing
            Dim Classeur As Excel.Workbook = Nothing
            Dim Feuille As Excel.Worksheet = Nothing
            '
            '
            '
            MyPath = String.Format(Environment.CurrentDirectory)
            ReDim Preserve ListeFichierCSV(1)
            ListeFichierCSV(0) = "Données_IPC.csv"
            ListeFichierCSV(1) = "Données_PrixMP.csv"
            '
            '   Desctruction du classeur si celui-ci existe.
            '
            'Try
     
            For i As Integer = ListeFichierCSV.GetLowerBound(0) To ListeFichierCSV.GetUpperBound(0)
                Try
                    If My.Computer.FileSystem.FileExists(MyPath & "\" & ListeFichierCSV(i).Replace("csv", "xlsx")) Then
                        My.Computer.FileSystem.DeleteFile(MyPath & "\" & ListeFichierCSV(i).Replace("csv", "xlsx"))
                    End If
     
                    '
                    '   Intitalisations des diverses variables Excel déclarées.
                    '
                    xlapp = New Excel.Application 'CreateObject("Excel.Application")
     
                    Classeur = xlapp.Workbooks.Add()
     
                    Feuille = Classeur.Worksheets.Add
                    '
                    '   Propriétés de l'application xlapp
                    '
                    xlapp.Visible = True
                    xlapp.SheetsInNewWorkbook = 1
                    xlapp.ScreenUpdating = False
                    '
                    '   Sauvegarde du classeur qui vient d'être créé. 
                    '
                    Classeur.SaveAs(Filename:=MyPath & "\" & ListeFichierCSV(i).Replace("csv", "xlsx"), FileFormat:=XlFileFormat.xlWorkbookDefault, CreateBackup:=False)
     
                    '
                    '
                    '
                    With Feuille.QueryTables.Add(Connection:="TEXT;" & MyPath & "\" & ListeFichierCSV(i), Destination:=Feuille.Range("$A$1"))
                        .FieldNames = True
                        .RowNumbers = False
                        .FillAdjacentFormulas = False
                        .PreserveFormatting = True
                        .RefreshOnFileOpen = False
                        .RefreshStyle = XlCellInsertionMode.xlInsertDeleteCells
                        .SavePassword = False
                        .SaveData = True
                        .AdjustColumnWidth = True
                        .RefreshPeriod = 0
                        .TextFilePromptOnRefresh = False
                        .TextFilePlatform = 1252
                        .TextFileStartRow = 1
                        .TextFileParseType = XlTextParsingType.xlDelimited
                        .TextFileTextQualifier = XlTextQualifier.xlTextQualifierDoubleQuote
                        .TextFileConsecutiveDelimiter = False
                        .TextFileTabDelimiter = False
                        .TextFileSemicolonDelimiter = True
                        .TextFileCommaDelimiter = False
                        .TextFileSpaceDelimiter = False
                        .TextFileColumnDataTypes = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
                        .TextFileTrailingMinusNumbers = True
                        .Refresh(BackgroundQuery:=False)
                    End With
                    Feuille.Name = Path.GetFileNameWithoutExtension(ListeFichierCSV(i))
                    '
                    '
                    '
                    For Each Feuil As Excel.Worksheet In Classeur.Sheets
                        If Feuil.Name.Contains("Feuil") Then
                            Console.WriteLine("Destruction de la feuille : " & Feuil.Name)
                            Feuil.Delete()
                        End If
                    Next
     
     
                Catch ex As Exception
                    '
                    Console.WriteLine(ex.Message)
                    '
                Finally
                    '
                    '   Activation de la feuille contenant la tables des matières
                    '
                    Classeur.Worksheets(1).Activate()
                    '
                    '   Instructions nécessaires pour une bonne sortie de MS Excel.
                    '
                    '   Ces lignes ont été écrites en utilisant les informations 
                    '   disponibles sur le site:
                    '
                    '   <a href="http://www.xtremevbtalk.com/showthread.php?p=1326018#post1326018" target="_blank">http://www.xtremevbtalk.com/showthre...18#post1326018</a>
                    '
                    '   L'auteur du texte de la page ci-dessus est Mike Rosenblum, il a
                    '   aussi son propre site:
                    '
                    '   <a href="http://stackoverflow.com/users/10429/mike-rosenblum" target="_blank">http://stackoverflow.com/users/10429/mike-rosenblum</a>
                    '
                    GC.Collect()
                    GC.WaitForPendingFinalizers()
                    'GC.Collect()
                    'GC.WaitForPendingFinalizers()
                    '
                    '
                    '
                    'Marshal.FinalReleaseComObject(Feuille)
                    '
                    '   Sauvegarde du classeur avant la fermeture de celui-ci.
                    '
                    Classeur.Close(SaveChanges:=True)
                    Marshal.FinalReleaseComObject(Classeur)
                    '
                    '   FErmeture du serveur Excel.
                    '
                    xlapp.Quit()
                    Marshal.FinalReleaseComObject(xlapp)
                End Try
            Next i
     
        End Sub

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut
    Bonjour,
    regarder ce lien vous avez la solution a votre problème :
    https://stackoverflow.com/questions/...-8-csv-to-xlsx

    Cordialement,

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/09/2015, 16h14
  2. [XL-2010] Conversion automatique lors de l'envoi d'un fichier .csv en .xlsx
    Par theolexalte dans le forum Excel
    Réponses: 4
    Dernier message: 18/09/2015, 14h34
  3. Problème Encoding lors de récupération de Mail
    Par FoxDeltaSierra dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/03/2010, 11h06
  4. [WD-2007] Problème lors de la conversion d'un fichier au format Word97-2003
    Par Canari74 dans le forum Word
    Réponses: 7
    Dernier message: 17/04/2009, 19h18
  5. Problème transparence lors de la conversion d'une image
    Par Riki dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 20/11/2007, 12h33

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