Importando dados do Excel para MySql
Saudações,
estou criando um sistema de Importação e Exportação de Dados com Mysql. A parte de Exportação já está quase concluída (já consigo exportar para .txt e a rotina para excel já está quase pronta) mas estou apanhando um pouco para importar dados do Excel/DBF. Gostaria de saber se alguém tem ou sabe alguma rotina de importação de dados do Excel/DBF para MySql ou algum componente capaz disso. Para importar dados do .txt já consegui. Muito obrigado.
estou criando um sistema de Importação e Exportação de Dados com Mysql. A parte de Exportação já está quase concluída (já consigo exportar para .txt e a rotina para excel já está quase pronta) mas estou apanhando um pouco para importar dados do Excel/DBF. Gostaria de saber se alguém tem ou sabe alguma rotina de importação de dados do Excel/DBF para MySql ou algum componente capaz disso. Para importar dados do .txt já consegui. Muito obrigado.
Elias Jr
Curtidas 0
Respostas
Rm
23/10/2004
Vai ai um codigo que funciona em paradox... Deve salvar antes o arquivo excel como csv (separado por ponto e virgula) sem cabeçalho nas colunas
Espero que ajude
procedure TForm4.BitBtn5Click(Sender: TObject);
var
Arq : TextFile;
texto : string;
I : Integer;
function MV : String;
var
Monta : String;
begin
monta := ´´;
inc(I);
While Texto[I] > ´*´ do
begin
If Texto[I]= ´;´ then
break;
monta := monta + Texto[I];
inc(I);
end;
result := monta;
end;
begin
if OpenDialog1.Execute then
begin
Screen.Cursor := crHourGlass;
datamodule3.table5.Open;
AssignFile(Arq,OpenDialog1.FileName);
Reset(Arq);
if not EOF(Arq) then
repeat
ReadLn(Arq,Texto);
With datamodule3.table5 do begin
Insert;
I := 0;
FieldByName(´Nº´).AsFloat:=StrToFloat(MV);
FieldByName(´Operação´).AsString := MV;//COLUNA 1 =CAMPO1
FieldByName(´Tempo´).AsFloat:=StrToFloat(MV);//COLUNA 2 =CAMPO2
Post;
end;
until EOF(Arq);
Closefile(Arq);
Screen.Cursor := crDefault;
end;
end;
Espero que ajude
procedure TForm4.BitBtn5Click(Sender: TObject);
var
Arq : TextFile;
texto : string;
I : Integer;
function MV : String;
var
Monta : String;
begin
monta := ´´;
inc(I);
While Texto[I] > ´*´ do
begin
If Texto[I]= ´;´ then
break;
monta := monta + Texto[I];
inc(I);
end;
result := monta;
end;
begin
if OpenDialog1.Execute then
begin
Screen.Cursor := crHourGlass;
datamodule3.table5.Open;
AssignFile(Arq,OpenDialog1.FileName);
Reset(Arq);
if not EOF(Arq) then
repeat
ReadLn(Arq,Texto);
With datamodule3.table5 do begin
Insert;
I := 0;
FieldByName(´Nº´).AsFloat:=StrToFloat(MV);
FieldByName(´Operação´).AsString := MV;//COLUNA 1 =CAMPO1
FieldByName(´Tempo´).AsFloat:=StrToFloat(MV);//COLUNA 2 =CAMPO2
Post;
end;
until EOF(Arq);
Closefile(Arq);
Screen.Cursor := crDefault;
end;
end;
GOSTEI 0