ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Problema de importação do Excel para o Delphi

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
fagundes1999
Novato
Novato


Registrado: Segunda-Feira, 18 de Abril de 2022
Mensagens: 1

MensagemEnviada: Seg Abr 18, 2022 12:46 pm    Assunto: Problema de importação do Excel para o Delphi Responder com Citação

Olá, pessoal! Estou precisando de uma ajuda! Já olhei vários tópicos com possíveis soluções mas nenhum resolveu meu problema! Sad
Estou precisando abrir o excel apartir do Delphi e importar os arquivos de lá. Porém o código que uso sempre dá erro dizendo que "Não foi possível encontrar o arquivo, talvez ele tenha sido renomeado, excluído ou movido?".
Andei pesquisando e vi que um dos problemas poderia ser a falta do Excel na máquina, porém eu tenho o Excel instalado.

Agradeço a atenção de todos!

Segue o código:

rocedure TfrmNomeDoSoftware.importarExcelClick(Sender: TObject);
// aquiiiiiiiiiiii
const
xlCellTypeLastCell = $0000000B;
var
XLSAplicacao, AbaXLS: OLEVariant;
RangeMatrix: Variant;
linhas, colunas, k, r: Integer;
xFileXLS: string;
Result : Boolean;
begin
linhas := 0;
colunas := 0;
Result := False;
// Cria Excel- OLE Object
XLSAplicacao := CreateOleObject('Excel.Application');
try
// Esconde Excel
XLSAplicacao.Visible := False;
// Abre o Workbook
XLSAplicacao.Workbooks.Open(xFileXLS);

{ Selecione aqui a aba que você deseja abrir primeiro - 1,2,3,4.... }
XLSAplicacao.WorkSheets[1].Activate;
{ Selecione aqui a aba que você deseja ativar - começando sempre no 1 (1,2,3,4) }
AbaXLS := XLSAplicacao.Workbooks[ExtractFileName(xFileXLS)].WorkSheets[1];

AbaXLS.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;

// Pegar o número da última linha
linhas := XLSAplicacao.ActiveCell.Row;
// Pegar o número da última coluna
colunas := XLSAplicacao.ActiveCell.Column;
// Associaca a variant WorkSheet com a variant do Delphi
RangeMatrix := XLSAplicacao.Range['A1', XLSAplicacao.Cells.item[linhas,
colunas]].Value;

{ edtCRazaoSocialEmpresa.Text := RangeMatrix[2 ,1];
edtQtIntervalo.Text := RangeMatrix[2, 2];
edtTempoIntervalo.Text := RangeMatrix[3, 2];
edtTDispTurno.Text := RangeMatrix[4, 2];
edtTempoTotalTurno.Text := RangeMatrix[5, 2]; }

finally ;
{edtCRazaoSocialEmpresa.Text := RangeMatrix[2 ,1];
edtQtIntervalo.Text := RangeMatrix[2, 2];
edtTempoIntervalo.Text := RangeMatrix[3, 2];
edtTDispTurno.Text := RangeMatrix[4, 2];
edtTempoTotalTurno.Text := RangeMatrix[5, 2];}
end;
begin
RangeMatrix := Unassigned;
// Fecha o Microsoft Excel
if not VarIsEmpty(XLSAplicacao) then
begin
XLSAplicacao.Quit;
XLSAplicacao := Unassigned;
AbaXLS := Unassigned;
Result := true;
end;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Ter Abr 19, 2022 4:16 pm    Assunto: Responder com Citação

Boa tarde,

Acho que está faltando atribuir o nome do arquivo para a variável xFileXLS ou troca-la por outra que contenha o nome do arquivo na linha abaixo:

Código:
XLSAplicacao.Workbooks.Open(xFileXLS);


Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcieldeg
Colaborador
Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011
Mensagens: 1054
Localização: Vitória - ES

MensagemEnviada: Dom Set 04, 2022 9:27 am    Assunto: Responder com Citação

Porque não usa ADO para abrir o arquivo excel? Assim não é necessário ter o office instalado na máquina.
_________________
"Olha a interface da IDE! Será que ela é? Será que ela é? DELPHI!"
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB