Importar do Excel
Queria saber se alguém tem um exemplo ou sabe fazer uma importação de um arquivo do Excel *.xls ou apenas ler os dados dele. Ficarei grato por alguma ajuda.
Foxcyber
Curtidas 0
Respostas
Fábio Feltrin
11/01/2005
Variaveis globais
Form1: TForm1;
lcid : Integer;
wkbk : _Workbook;
linha : Integer;
novoarq : String[1];
Caminho : String;
Você vai utilizar um ExcelWorksheet1 e um ExcelApplication1
coloque um botão com o nome Abre Excel e digite o comando
Caminho := ´´;
//testa se é um novo arquivo ou não
If novoarq = ´N´ then
begin
OpenDialog1.Execute;
If OpenDialog1.FileName = ´´ then
// Caso não seja selecionado um arquivo
//não executa outros procedimentos
exit
Else
caminho := OpenDialog1.FileName;
end;
lcid := GetUserDefaultLCID;
//pega o usuário logado
ExcelApplication1.Visible[lcid] := true;
//torna a aplicação visível
ExcelApplication1.DisplayAlerts[lcid] := false;
//remove alertas do excel
if novoarq = ´S´ then
// se for um novo arquivo, este
// procedimento cria o arquivo
wkbk := ExcelApplication1.Workbooks.Add(EmptyParam, lcid)
else
// Se for um arquivo existente, esta
//linha conecta a aplicação
//com o arquivo.
// OBS - Vale apena ver o nº de parametros
// e suas funcionalidades.
WkBk := ExcelApplication1.Workbooks.Open(´c:\teste1.xls´,
EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, LCID);
// conecta a planilha (1) que será a planilha a
//receber os dados
ExcelWorksheet1.ConnectTo(WkBk.Worksheets[1] as _Worksheet);
//ativa a planilha conectada
ExcelWorksheet1.Activate(LCID);
//torn possível fazer alterações
ExcelApplication1.ScreenUpdating[lcid] := true;
//Atribui um nome a planilha
ExcelWorksheet1.Name := ´Relatórios via Excel´;
{ Para que não seja possível que o usuário tente enviar
os dados sem
que exista uma aplicação aberta os botões que
servirão para enviaros dados iniciam a aplicação desabilitados e
somente quando é aberta
uma instância do Excel esses botões
se tornam habilitados}
if BTTodos.Enabled = False then
begin
BTTodos.Enabled := True;
BTSelecionados.Enabled := True;
end;
Edit1.Text := ExcelWorksheet1.Range[´a1´, ´a1´].Value;
Depois coloque um botão com um nome qualquer e digite
//Lê o arquio do excel
Edit1.Text := ExcelWorksheet1.Range[´A1´, ´A1´].Value;
//exporta para o excel;
ExcelWorksheet1.Range[´A1´, ´A1´].Value := ´NOME´;
ExcelWorksheet1.Range[´B1´, ´B1´].Value := ´CAPITAL´;
ExcelWorksheet1.Range[´C1´, ´C1´].Value := ´CONTINENTE´;
ExcelWorksheet1.Range[´D1´, ´D1´].Value := ´AREA´;
ExcelWorksheet1.Range[´E1´, ´E1´].Value := ´POPULAÇÃO´;
Espero ter ajudado!!!
Form1: TForm1;
lcid : Integer;
wkbk : _Workbook;
linha : Integer;
novoarq : String[1];
Caminho : String;
Você vai utilizar um ExcelWorksheet1 e um ExcelApplication1
coloque um botão com o nome Abre Excel e digite o comando
Caminho := ´´;
//testa se é um novo arquivo ou não
If novoarq = ´N´ then
begin
OpenDialog1.Execute;
If OpenDialog1.FileName = ´´ then
// Caso não seja selecionado um arquivo
//não executa outros procedimentos
exit
Else
caminho := OpenDialog1.FileName;
end;
lcid := GetUserDefaultLCID;
//pega o usuário logado
ExcelApplication1.Visible[lcid] := true;
//torna a aplicação visível
ExcelApplication1.DisplayAlerts[lcid] := false;
//remove alertas do excel
if novoarq = ´S´ then
// se for um novo arquivo, este
// procedimento cria o arquivo
wkbk := ExcelApplication1.Workbooks.Add(EmptyParam, lcid)
else
// Se for um arquivo existente, esta
//linha conecta a aplicação
//com o arquivo.
// OBS - Vale apena ver o nº de parametros
// e suas funcionalidades.
WkBk := ExcelApplication1.Workbooks.Open(´c:\teste1.xls´,
EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, LCID);
// conecta a planilha (1) que será a planilha a
//receber os dados
ExcelWorksheet1.ConnectTo(WkBk.Worksheets[1] as _Worksheet);
//ativa a planilha conectada
ExcelWorksheet1.Activate(LCID);
//torn possível fazer alterações
ExcelApplication1.ScreenUpdating[lcid] := true;
//Atribui um nome a planilha
ExcelWorksheet1.Name := ´Relatórios via Excel´;
{ Para que não seja possível que o usuário tente enviar
os dados sem
que exista uma aplicação aberta os botões que
servirão para enviaros dados iniciam a aplicação desabilitados e
somente quando é aberta
uma instância do Excel esses botões
se tornam habilitados}
if BTTodos.Enabled = False then
begin
BTTodos.Enabled := True;
BTSelecionados.Enabled := True;
end;
Edit1.Text := ExcelWorksheet1.Range[´a1´, ´a1´].Value;
Depois coloque um botão com um nome qualquer e digite
//Lê o arquio do excel
Edit1.Text := ExcelWorksheet1.Range[´A1´, ´A1´].Value;
//exporta para o excel;
ExcelWorksheet1.Range[´A1´, ´A1´].Value := ´NOME´;
ExcelWorksheet1.Range[´B1´, ´B1´].Value := ´CAPITAL´;
ExcelWorksheet1.Range[´C1´, ´C1´].Value := ´CONTINENTE´;
ExcelWorksheet1.Range[´D1´, ´D1´].Value := ´AREA´;
ExcelWorksheet1.Range[´E1´, ´E1´].Value := ´POPULAÇÃO´;
Espero ter ajudado!!!
GOSTEI 0