Valor Separado formato de vírgula (CSV) é um formato comum usado para trocar dados entre os diferentes programas que podem não suportar o formato nativo do outro. Por exemplo, ele pode ser usado para trocar dados da planilha entre Excel e outra planilha ou banco de dados dados entre o Access e MySQL. Visual Basic não contenha uma função automática para carregar arquivos CSV, no entanto, uma das razões para o seu apoio generalizado é a sua simplicidade. Como o nome indica, arquivos CSV são nada além de uma lista de valores, separados por uma vírgula ou uma nova linha. É bastante simples para criar um leitor CSV no Visual Basic.
Criar um novo projeto clicando "Arquivo" e "Novo projeto."
Arraste um botão para seu formulário da caixa de ferramentas usando o mouse.
Encontre o "OpenFileDialog" controlar e adicioná-lo ao seu formulário também. Uma vez que este controle é inicialmente invisível, ele não aparecerá em sua forma, mas abaixo dela.
Dê um duplo clique no botão para criar um evento que irá ocorrer sempre que o usuário clica no botão. Cole o seguinte código que irá perguntar ao usuário para um arquivo CSV e carregar seus dados em uma matriz 2D:
Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Alças Button1.Click
&# 9-
&# 9-REM Obter o arquivo que o usuário deseja carregar.
OpenFileDialog1.ShowDialog ()
filename Dim As String = OpenFileDialog1.FileName
Dim fileStream Como System.IO.StreamReader = Novo System.IO.StreamReader (filename)&# 9-&# 9-
&# 9-&# 9-REM Leia todos os dados do arquivo em uma única cadeia.Dim conteúdo como String = fileStream.ReadToEnd
REM dividir a string em seus valores. Após esta operação estiver concluída, haverá uma matriz dimensional de valores, e a extremidade das linhas será marcada por cadeias vazias.
valores dim = contents.Split ()
Dim arr Como ArrayList = New ArrayList
linhas Dim como ArrayList = New ArrayList&# 9-&# 9-REM Mova os dados em uma matriz 2D.
&# 9-&# 9;Para x As Integer = 0 Para lines.Length - 1
Se as linhas (x) IsNot String.Empty seguida
arr.Add (linhas (x))
Fim se
rows.Add (arr.Clone)
arr.Clear ()
Próximodados dim (Rows.Count, linhas (0) .Count) As String
Para x As Integer = 0 Para Rows.Count - 1
Para y As Integer = 0 To linhas (x) .count - 1
dados (x, y) = linhas (x) (y)
Próximo
PróximoEnd Sub