vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Warum # statt . beim Einlesen der ersten Excelzeile 
Autor: Hänk
Datum: 08.09.20 20:38

Servus Leute,

ich hänge da an einem seltsamen Phänomen fest.
Wenn ich eine Excel Datei einlese und in der ersten Zeile - die die Feldbezeichner beinhaltet - ein Punkt am Ende der Bezeichnung steht (Beispiel Fall-Nr.) wird mir statt eines Punktes ein # angezeigt.



 
Using oParser As TextFieldParser = New TextFieldParser(oPfad, oEncoding)
                oParser.SetDelimiters(delimiter)                        ' 
                ' delimeter ist das Trennzeichen
                oParser.HasFieldsEnclosedInQuotes = Anführungszeichen   
                oParser.TrimWhiteSpace = True                           
 
                Dim columnHeaders As String() = oParser.ReadFields()
...und in columnHeaders ist bereits der . ein #???!!!

Habe bereits verschiedene Encoding versucht - keine Änderung.
Wo liegt das Problem?

Hänk

(Wer früh aufsteht hat mehr vom Tag)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Warum # statt . beim Einlesen der ersten Excelzeile 
Autor: effeff
Datum: 13.10.20 17:48

Ist das wirklich eine Excel-Datei oder ein CSV-File? Für Excel ist der TextFieldParser nicht geeignet. Du solltest lieber mit frühem oder spätem Binding arbeiten, sofern auf Deinem Rechner Excel vorhanden ist oder mit einem Datenbanktreiber auf das Excel-File zugreifen.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Warum # statt . beim Einlesen der ersten Excelzeile 
Autor: Hänk
Datum: 14.10.20 21:18

1. Ja. Es ist eine Excel Datei (xls / xlsx)
2. Was meinst du mit einem Datenbanktreiber auf Excel zugreifen?

Ich lese auch noch so ein...

        Using objReader As New StreamReader(oPfad, oEncoding, True)   
 
             ' ------- maximal 50 Datensätze genügen 
             ' ---------------------------------------------------
            Dim oZeile As String
            Try
                For a As Integer = 0 To Math.Min(50, Datenmenge)
                    oZeile = objReader.ReadLine()
                    If Not oZeile Is Nothing Then
                        If a = 0 Then
                            If oZeile.Contains("#") Then
                                oZeile = oZeile.Replace("#", ".")
                            End If
                        End If
                        Me.ListBox1.Items.Add(oZeile)
                    End If
                Next
            Catch ex As Exception
 
            End Try
            ' -----------------------------------------------------------------
            ' ------------------------
 
        End Using
Ich konvertier die # dann in .

Hänk

(Wer früh aufsteht hat mehr vom Tag)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel