Halloj. Hej, Ah.. Då var jag inne lite på rätt spår nu då. Läser du inte svaren i dina gamla trådar? ;-) Fast där ställde han ju en helt annan fråga om hur man läser filer ur en katalog. Nu handlade det ju om att läsa in en csv-fil och hantera datat som kolumner.Splitta lite här och lite där.
Nu går jag vidare med mina problem. Jag har en textfil
där raderna är separerade med en crlf och värdena inom raden med ett semikolon.
Jag försökte lite med följande (då jag kommer från ASP-världen och inte riktigt kommit
in i .NET-världen)
<code>
Dim RowArr As Array
RowArr = Split(FileContents,vbcrlf)
Dim ValueArr As Array
ValueArr = Split(RowArr,";")
</code>
Får då felmeddelande enligt följande:
Value of type 'System.Array' cannot be converted to 'String'.
Hur gör man i det läget?
Vad jag vill uppnå är att kunna läsa in filen, splitta den rad för rad och sen splitta
varje rad vid ; för att sen anropa enligt följande (t ex)
<code>
nRow = ValueArr(0)
</code>Sv: Splitta lite här och lite där.
jag visar lite kod här för att vägleda dig in i processen (det är inte testat men tänkt för att visa logiken):
' Ska hålla kolumner
Dim cols As String()
' Skapa läsbar ström från textfilen
Dim sr As New StreamReader(filePath)
' Splitta ut första raden (som förmodligen är kolumner?) DET DU FRÅGADE EFTER
cols = sr.ReadLine().Split(";".ToCharArray())
' Det du sedan kan göra med kolumnerna är att använda dig av System.Data för att skapa datatable och sedan datacolumns
' Fast jag vet ju förstås inte vad du ska göra med datat
' Kommer att innehålla data för en rad i textfilen
Dim line As String
' Ska hålla aktuell rad splittad
Dim row As String()
' Loopa igenom rad för rad
While (line = sr.ReadLine()) <> Nothing
' Splitta ut raden i kolumner
row = line.Split(";".ToCharArray())
' Här skulle man kunna lägga till nya datarows till sin datatable om man skapat en sådan
End While
'Slutresultat skulle kunna bli en tabell där datat är ordnat i kolumner och rader
Sv:Splitta lite här och lite där.
Tack för hjälpen! :)Sv: Splitta lite här och lite där.
http://pellesoft.se/communicate/forum/view.aspx?msgid=225540&forumid=47&sum=0
Kolla första svaret... ;-) Sv:Splitta lite här och lite där.