delphi e excel
dae pessoal, blz...
estou com um probleminha para buscar dados em uma planilha do excel para o delphi(6), estou usando o seguinte algoritmo para ´pegar´ os dados:
Caminho := ExtractFilePath(Application.ExeName);
caminho := caminho+´pe_graos.xls´;
//pega o usuário logado
lcid := GetUserDefaultLCID;
//remove alertas do excel
ExcelApplication1.DisplayAlerts[lcid] := false;
//torna a aplicação visível
ExcelApplication1.Visible[lcid] := false;
// Se for um arquivo existente, esta
//linha conecta a aplicação
//com o arquivo.
WkBk := ExcelApplication1.Workbooks.Open(caminho,
EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, LCID);
// conecta a planilha (1)
ws := cbxProduto.ItemIndex + 1; //define o worksheet
ExcelWorksheet1.ConnectTo(WkBk.Worksheets[ws] as _Worksheet);
//ativa a planilha conectada
ExcelWorksheet1.Activate(LCID);
//torna impossível fazer alterações
ExcelApplication1.ScreenUpdating[lcid] := false;
for x:=0 to 99 do
begin
aux:=ExcelWorksheet1.Range[letras[x]+(inttostr(linha)),letras[x]+(inttostr(linha))].Value;
dados[x]:=aux;
end;
//fecha o excel
ExcelApplication1.Application.Quit;
funciona blz, o problema eh se o excel estiver aberto. Se tiver uma planilha aberta e ela estiver salva ela fecha no final da execucao, mas se ela naum estiver salva da erro no sistema. pergunto, tem como conectar a planilha sem abrir o excel? ou entao verificar se o excel esta aberto e somente abrir o arquivo e depois fecha-lo? qq dica eh bem vinda... Obrigado a todos...
estou com um probleminha para buscar dados em uma planilha do excel para o delphi(6), estou usando o seguinte algoritmo para ´pegar´ os dados:
Caminho := ExtractFilePath(Application.ExeName);
caminho := caminho+´pe_graos.xls´;
//pega o usuário logado
lcid := GetUserDefaultLCID;
//remove alertas do excel
ExcelApplication1.DisplayAlerts[lcid] := false;
//torna a aplicação visível
ExcelApplication1.Visible[lcid] := false;
// Se for um arquivo existente, esta
//linha conecta a aplicação
//com o arquivo.
WkBk := ExcelApplication1.Workbooks.Open(caminho,
EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, LCID);
// conecta a planilha (1)
ws := cbxProduto.ItemIndex + 1; //define o worksheet
ExcelWorksheet1.ConnectTo(WkBk.Worksheets[ws] as _Worksheet);
//ativa a planilha conectada
ExcelWorksheet1.Activate(LCID);
//torna impossível fazer alterações
ExcelApplication1.ScreenUpdating[lcid] := false;
for x:=0 to 99 do
begin
aux:=ExcelWorksheet1.Range[letras[x]+(inttostr(linha)),letras[x]+(inttostr(linha))].Value;
dados[x]:=aux;
end;
//fecha o excel
ExcelApplication1.Application.Quit;
funciona blz, o problema eh se o excel estiver aberto. Se tiver uma planilha aberta e ela estiver salva ela fecha no final da execucao, mas se ela naum estiver salva da erro no sistema. pergunto, tem como conectar a planilha sem abrir o excel? ou entao verificar se o excel esta aberto e somente abrir o arquivo e depois fecha-lo? qq dica eh bem vinda... Obrigado a todos...
Adoryan
Curtidas 0