Come caricare una tabella da un file CSV con Visual Basic

February 2

Visual Basic (VB) è un linguaggio di programmazione creato da Microsoft. VB rende significative aggiunte al set di primitive disponibili in lingua originale di programmazione di base, come la ricorsione e sofisticate manipolazioni di stringhe. valori separati da virgole (CSV) è una forma diffusa di memorizzazione delle informazioni tabellari in file informatici. In un file CSV, ogni riga corrisponde ad una riga della tabella viene codificato; ogni riga consiste, a sua volta, di valori corrispondenti alle voci della colonna separate da virgole. È possibile scrivere codice VB che legge l'input CSV in un array in memoria per ulteriori manipolazioni.

istruzione

1 Aprire il file CSV in modalità di lettura e leggere tutto il suo contenuto, come in questo codice di esempio:

maniglia Dim As Integer

wholeContents Dim come stringa

gestire = FreeFile

Open "input.csv" per l'ingresso come maniglia

wholeContents = Ingresso $ (OL (maniglia), # maniglia)

Chiudi maniglia

Sostituire "input.csv" dal nome del file CSV è necessario analizzare.

2 Separare le linee del file in diversi elementi di un VB Variante utilizzando i caratteri di nuova riga come separatori, come in questo codice di esempio:

lineContents fiochi come Variant

lineContents = Split (wholeContents, vbCrLf)

3 Assegnare il numero corretto di righe e colonne nella matrice che conterrà i valori nel file CSV originale, come in questo codice di esempio:

Dim sampleLine As Variant

nRows fioco come Integer

ncols fioco come Integer

matrice Dim () As String

nRows = Ubound (lineContents)

sampleLine = Split (lineContents (0), ",")

ncols = Ubound (sampleLine)

serie ReDim (nRows, ncols)

4 Copiare i valori dalla Variante che contiene tutti i valori separati da virgole nella matrice VB, come in questo codice di esempio:

Dim i come Integer

j Dim as Integer

Per i = 0 Per nRows

sampleLine = Split (lineContents (i), ",")

Per j = 0 Per Ubound (sampleLine)

array(i,j) = sampleLine(j)

Successivo j

Next i

Dopo aver eseguito i due annidati "Per" loop, matrice "allineamento" conterrà gli stessi valori del file CSV originale.