Delphi - Excel com várias abas
Boa tarde pessoal.
No código abaixo
Agora como faço para logo abaixo desse código inserir outra aba(planilha) e continuar inserindo nela?
No código abaixo
Excel: Variant;
Excel := CreateOleObject(''''Excel.Application'''');
Excel.Visible := True;
Excel.Workbooks.Add;
Excel.Workbooks[1].WorkSheets[1].Name := ''''Aluno'''';
Application.BringToFront;
Excel.WorkBooks[1].Sheets[1].Cells[ContaLinha, 1] := ''''IdAluno'''';
Excel.WorkBooks[1].Sheets[1].Cells[ContaLinha, 2] := ''''Matricula'''';
Excel.WorkBooks[1].Sheets[1].Cells[ContaLinha, 1] := ''''2514'''';
Excel.WorkBooks[1].Sheets[1].Cells[ContaLinha, 2] := ''''JOSE'''';
Agora como faço para logo abaixo desse código inserir outra aba(planilha) e continuar inserindo nela?
Leandro Carvalho
Curtidas 1
Melhor post
Emerson Nascimento
22/12/2018
E, pra voltar a preencher uma aba que já foi tratada, basta atribuir a variável novamente:
var
Excel: variant;
Plan: variant;
begin
Excel := CreateOleObject('Excel.Application');
Excel.Visible := True;
Excel.Workbooks.Add;
Application.BringToFront;
Plan := Excel.WorkBooks[1].Sheets[1];
Plan.Name := 'Aluno';
Plan.Cells[1, 1] := 'IdAluno';
Plan.Cells[1, 2] := 'Matricula';
Plan.Cells[2, 1] := '2514';
Plan.Cells[2, 2] := 'JOSE';
Plan := Excel.Workbooks[1].Sheets.Add(null, Plan); // adiciona planilha no fim (fica ativa)
Plan.Name := '2o. Aluno';
Plan.Cells[1, 1] := '2o. IdAluno';
Plan.Cells[1, 2] := '2o. Matricula';
Plan.Cells[2, 1] := '2o. 2515';
Plan.Cells[2, 2] := '2o. MARIA';
Plan := Excel.Workbooks[1].Sheets.Add(null, Plan); // adiciona planilha no fim (fica ativa)
Plan.Name := '3o. Aluno';
Plan.Cells[1, 1] := '3o. IdAluno';
Plan.Cells[1, 2] := '3o. Matricula';
Plan.Cells[2, 1] := '3o. 2516';
Plan.Cells[2, 2] := '3o. PEDRO';
Plan := Excel.WorkBooks[1].Sheets[1]; // volto para a planilha 1
Plan.Cells[3, 1] := '2517';
Plan.Cells[3, 2] := 'ANTONIO';
Plan.Cells[4, 1] := '2518';
Plan.Cells[4, 2] := 'JOANA';
end;GOSTEI 2
Mais Respostas
Casuc
19/12/2018
Quickpayportal is one such great billing system where one can pay the bills for the services received from the clinics. www.quickpayportal.com
is a user-friendly payment system which not only allows you to make secure payments but also provides the facility to check your old statements online.
GOSTEI 0
Leandro Carvalho
19/12/2018
Bom dia
Alguém pode me ajudar.
Por favor.
Alguém pode me ajudar.
Por favor.
GOSTEI 0
Flavio Silva
19/12/2018
provavelmente você vai usar o índice 2
Excel.Workbooks[2]
Excel.Workbooks[2]
GOSTEI 0
Leandro Carvalho
19/12/2018
Caro Flávio.<br />
<br />
Isso não funciona.<br />
Já tentei várias coisas e não dá certo.
<br />
Isso não funciona.<br />
Já tentei várias coisas e não dá certo.
GOSTEI 0
Emerson Nascimento
19/12/2018
tente assim:
Excel := CreateOleObject('Excel.Application');
Excel.Visible := True;
Excel.Workbooks.Add;
Excel.Workbooks[1].WorkSheets[1].Name := 'Aluno';
Application.BringToFront;
Excel.WorkBooks[1].Sheets[1].Cells[ContaLinha, 1] := 'IdAluno';
Excel.WorkBooks[1].Sheets[1].Cells[ContaLinha, 2] := 'Matricula';
Excel.WorkBooks[1].Sheets[1].Cells[ContaLinha, 1] := '2514';
Excel.WorkBooks[1].Sheets[1].Cells[ContaLinha, 2] := 'JOSE';
Excel.Workbooks[1].Sheets.Add; // adiciona planilha
Excel.WorkBooks[1].Sheets[2].Cells[ContaLinha, 1] := 'IdAluno Plan2';
Excel.WorkBooks[1].Sheets[2].Cells[ContaLinha, 2] := 'Matricula Plan2';
Excel.WorkBooks[1].Sheets[2].Cells[ContaLinha, 1] := '2514 plan2';
Excel.WorkBooks[1].Sheets[2].Cells[ContaLinha, 2] := 'JOSE plan2';GOSTEI 0
Leandro Carvalho
19/12/2018
Bom dia.
Emerson....
Essa linha
Excel.Workbooks[1].Sheets.Add;
Funcionou, criou uma nova aba, mas as informações continuou incluindo a aba anterior.
Emerson....
Essa linha
Excel.Workbooks[1].Sheets.Add;
Funcionou, criou uma nova aba, mas as informações continuou incluindo a aba anterior.
GOSTEI 0
Leandro Carvalho
19/12/2018
Alguma ideia?
GOSTEI 0
Emerson Nascimento
19/12/2018
Na linha abaixo da adição na nova aba está demonstrado como manipular a nova aba.
Excel.WorkBooks[1].Sheets[ 2 ].Cells[1, 1] := 'IdAluno Plan2';
ou
Excel.WorkBooks[1].WorkSheets[ 2 ].Cells[1, 1] := 'IdAluno Plan2';
Note que agora estou apontando para a segunda planilha Sheets[2]
Excel.WorkBooks[1].Sheets[ 2 ].Cells[1, 1] := 'IdAluno Plan2';
ou
Excel.WorkBooks[1].WorkSheets[ 2 ].Cells[1, 1] := 'IdAluno Plan2';
Note que agora estou apontando para a segunda planilha Sheets[2]
GOSTEI 0
Leandro Carvalho
19/12/2018
Na linha abaixo da adição na nova aba está demonstrado como manipular a nova aba.
Excel.WorkBooks[1].Sheets[ 2 ].Cells[1, 1] := 'IdAluno Plan2';
ou
Excel.WorkBooks[1].WorkSheets[ 2 ].Cells[1, 1] := 'IdAluno Plan2';
Note que agora estou apontando para a segunda planilha Sheets[2]
Eu vi. Ele cria a planilha2 mas continua inserindo na primeira planilha
Excel.WorkBooks[1].Sheets[ 2 ].Cells[1, 1] := 'IdAluno Plan2';
ou
Excel.WorkBooks[1].WorkSheets[ 2 ].Cells[1, 1] := 'IdAluno Plan2';
Note que agora estou apontando para a segunda planilha Sheets[2]
GOSTEI 0
Emerson Nascimento
19/12/2018
Tente assim:
var
Excel: variant;
Plan: variant;
begin
Excel := CreateOleObject('Excel.Application');
Excel.Visible := True;
Excel.Workbooks.Add;
Application.BringToFront;
Plan := Excel.WorkBooks[1].Sheets[1];
Plan.Name := 'Aluno';
Plan.Cells[1, 1] := 'IdAluno';
Plan.Cells[1, 2] := 'Matricula';
Plan.Cells[2, 1] := '2514';
Plan.Cells[2, 2] := 'JOSE';
Plan := Excel.Workbooks[1].Sheets.Add(null, Plan); // adiciona planilha no fim (fica ativa)
Plan.Name := '2o. Aluno';
Plan.Cells[1, 1] := '2o. IdAluno';
Plan.Cells[1, 2] := '2o. Matricula';
Plan.Cells[2, 1] := '2o. 2515';
Plan.Cells[2, 2] := '2o. MARIA';
Plan := Excel.Workbooks[1].Sheets.Add(null, Plan); // adiciona planilha no fim (fica ativa)
Plan.Name := '3o. Aluno';
Plan.Cells[1, 1] := '3o. IdAluno';
Plan.Cells[1, 2] := '3o. Matricula';
Plan.Cells[2, 1] := '3o. 2516';
Plan.Cells[2, 2] := '3o. PEDRO';
end;GOSTEI 0
Leandro Carvalho
19/12/2018
E, pra voltar a preencher uma aba que já foi tratada, basta atribuir a variável novamente:
Obrigado Emerson.var
Excel: variant;
Plan: variant;
begin
Excel := CreateOleObject('Excel.Application');
Excel.Visible := True;
Excel.Workbooks.Add;
Application.BringToFront;
Plan := Excel.WorkBooks[1].Sheets[1];
Plan.Name := 'Aluno';
Plan.Cells[1, 1] := 'IdAluno';
Plan.Cells[1, 2] := 'Matricula';
Plan.Cells[2, 1] := '2514';
Plan.Cells[2, 2] := 'JOSE';
Plan := Excel.Workbooks[1].Sheets.Add(null, Plan); // adiciona planilha no fim (fica ativa)
Plan.Name := '2o. Aluno';
Plan.Cells[1, 1] := '2o. IdAluno';
Plan.Cells[1, 2] := '2o. Matricula';
Plan.Cells[2, 1] := '2o. 2515';
Plan.Cells[2, 2] := '2o. MARIA';
Plan := Excel.Workbooks[1].Sheets.Add(null, Plan); // adiciona planilha no fim (fica ativa)
Plan.Name := '3o. Aluno';
Plan.Cells[1, 1] := '3o. IdAluno';
Plan.Cells[1, 2] := '3o. Matricula';
Plan.Cells[2, 1] := '3o. 2516';
Plan.Cells[2, 2] := '3o. PEDRO';
Plan := Excel.WorkBooks[1].Sheets[1]; // volto para a planilha 1
Plan.Cells[3, 1] := '2517';
Plan.Cells[3, 2] := 'ANTONIO';
Plan.Cells[4, 1] := '2518';
Plan.Cells[4, 2] := 'JOANA';
end;Deu certo.
GOSTEI 0