ARQUIVO CSV

AMELORP 21/09/2017 12:46:24
#476694
Alguem poderia me ajudar como faço pra ler arquivo csv de todos os tipos? utf-8 , etc

estou usando essa rotina abaixo porem so consigo ler o arquivo se eu abrir ele primeiro pelo excel e salvar o proprio arquivo csv como csv e em seguida executar a rotina dai consigo ler

segue a rotina:

Dim aux As Integer
Dim coluna As String


iarq = FreeFile
Open Arquivo For Input As iarq


Do While EOF(iarq) = False

Line Input #iarq, sLinha
partes = Split(sLinha, [Ô];[Ô])

msgbox partes(0)


End If

Loop
Close iarq

KERPLUNK 23/09/2017 18:37:55
#476742
Resposta escolhida
Porque não usar um driver OleDb e abrir com o ADO ao invés de abrir como texto?
AMELORP 25/09/2017 15:48:10
#476760
Citação:

:
Porque não usar um driver OleDb e abrir com o ADO ao invés de abrir como texto?




poderia me ajudar me dando algum exemplo de implementação?

meu arquivo está separa por [Ô];[Ô]

obrigado antecipadamente,



KERPLUNK 25/09/2017 16:09:26
#476763

dim cn = new ADODB.Connection
cn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\PASTA_ONDE_ESTA_SEU_ARQUIVO\;Extended Properties=[Ô] + chr(34) + [Ô]text;HDR=Yes;FMT=Delimited[Ô] + chr(34) +[Ô];[Ô]
dim rs = new ADODB.Recordset
rs.Open [Ô]Select * from NOME_DO_SEU_ARQUIVO[Ô], cn
AMELORP 25/09/2017 16:21:40
#476765
Citação:

:


dim cn = new ADODB.Connection
cn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:PASTA_ONDE_ESTA_SEU_ARQUIVO;Extended Properties=[Ô] + chr(34) + [Ô]text;HDR=Yes;FMT=Delimited[Ô] + chr(34) +[Ô];[Ô]
dim rs = new ADODB.Recordset
rs.Open [Ô]Select * from NOME_DO_SEU_ARQUIVO[Ô], cn




fiz alguns ajustes no codigo mas estou com dificuldade de ler todas as colunas...só consigo ler a primeira....

coloquei o csv em anexo.


segue o código:


Dim cn As New ADODB.Connection
cn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TESTE\;Extended Properties=[Ô] + Chr(34) + [Ô]text;HDR=Yes;FMT=Delimited[Ô] + Chr(34) + [Ô];[Ô]

Dim rs As New ADODB.Recordset
rs.Open [Ô]Select * from teste.csv[Ô], cn, adOpenKeyset, adLockReadOnly


Do While rs.EOF = False

List1.AddItem rs(0)
[ô]se tentar colocar aqui a segunda coluna ele nao encontra.... que seria rs(1)

rs.MoveNext
Loop


rs.Close
KERPLUNK 25/09/2017 16:24:51
#476766
é provável que você tenha que alterar uma chave de registro para isso. Mas você pode antes tentar usando ODBC ao invés de OleDB com a seguinte connection string:
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\PASTA_DOS_ARQUIVOS\;Extensions=asc,csv,tab,txt;
AMELORP 25/09/2017 16:32:22
#476767
Citação:

:
é provável que você tenha que alterar uma chave de registro para isso. Mas você pode antes tentar usando ODBC ao invés de OleDB com a seguinte connection string:
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:PASTA_DOS_ARQUIVOS;Extensions=asc,csv,tab,txt;




Esta acontecendo a mesma coisa....como faço pra alterar essa chave no registro...? qual seria a chave?
KERPLUNK 25/09/2017 16:33:53
#476768
Veja instruções aqui
AMELORP 27/09/2017 16:45:23
#476821
Citação:

:
Veja instruções aqui



nao encontrei a chave citada no artigo indicado....poderia me ajudar...? estou dependendo disso pra iniciar um projeto...


KERPLUNK 27/09/2017 17:47:00
#476823
Não funcionou nem com o driver ODBC?
AMELORP 28/09/2017 07:47:30
#476828
Citação:

:
Não funcionou nem com o driver ODBC?


Deu não...se eu te passar o arquivo será que poderia ver pra mim ? Agradeço desde já
Página 1 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas