 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
reinaldoinfo Novato

Registrado: Sexta-Feira, 11 de Junho de 2010 Mensagens: 3
|
Enviada: Qua Jul 07, 2010 10:18 am Assunto: Delphi exportar para formula Excel gera erro 800A03EC |
|
|
Olá... Estou exportando dados para uma planilha do excel, até aqui tudo bem... Mas estou tendo problemas ao inserir uma formula na planilha, pois essa formula muda de acordo com a quantidade de planilhas que crio na pasta de trabalho. A função COUNT.SE('Plan1'!M1:M10;"*"), o delphi retorna um erro 800a03ec ao inserir a formula na planilha...
HandleXLS := CreateOleObject('Excel.Application');
HandleXLS.WorkBooks.Open(Arquivo);
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 1] := 'AA';
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 2] := 'AB';
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 3] := 'BC';
ai na planilha 2
HandleXLS.WorkBooks[1].Sheets[2].Cells[1, 1] := '=COUNT.SE(Plan1!A1:A10;"B")'
//AQUI QUE GERA O ERRO DE OLE...
já tentei tb...
sheet:=WORKBOOKS[1].SHEETS[1];
sheet.Range['m2'].Formula := '=COUNT.SE(Plan1!A1:A10;"B")'
//e o erro ocorre novamente
//me disseram que tinha que colocar o nome das fórmulas em inglês...
//coloquei e nada...
Estou usando o EXCEL 2007 e o DELPHI 2007.
engraçado que consigo inserir outras formulas, mas a CONT.SE(), COUNTIF(), ou a SUMIF(), Não dão certo...
o delphi não insere a função count.se e gera um erro, tentei inserir COUNTIF... mas não funcionou tb...
Quem pode me ajudar? |
|
Voltar ao Topo |
|
 |
Brasaca Novato

Registrado: Terça-Feira, 6 de Julho de 2010 Mensagens: 15
|
Enviada: Qui Jul 08, 2010 8:25 am Assunto: Re: Delphi exportar para formula Excel gera erro 800A03EC |
|
|
reinaldoinfo escreveu: | Olá... Estou exportando dados para uma planilha do excel, até aqui tudo bem... Mas estou tendo problemas ao inserir uma formula na planilha, pois essa formula muda de acordo com a quantidade de planilhas que crio na pasta de trabalho. A função COUNT.SE('Plan1'!M1:M10;"*"), o delphi retorna um erro 800a03ec ao inserir a formula na planilha...
HandleXLS := CreateOleObject('Excel.Application');
HandleXLS.WorkBooks.Open(Arquivo);
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 1] := 'AA';
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 2] := 'AB';
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 3] := 'BC';
ai na planilha 2
HandleXLS.WorkBooks[1].Sheets[2].Cells[1, 1] := '=COUNT.SE(Plan1!A1:A10;"B")'
//AQUI QUE GERA O ERRO DE OLE...
já tentei tb...
sheet:=WORKBOOKS[1].SHEETS[1];
sheet.Range['m2'].Formula := '=COUNT.SE(Plan1!A1:A10;"B")'
//e o erro ocorre novamente
//me disseram que tinha que colocar o nome das fórmulas em inglês...
//coloquei e nada...
Estou usando o EXCEL 2007 e o DELPHI 2007.
engraçado que consigo inserir outras formulas, mas a CONT.SE(), COUNTIF(), ou a SUMIF(), Não dão certo...
o delphi não insere a função count.se e gera um erro, tentei inserir COUNTIF... mas não funcionou tb...
Quem pode me ajudar? |
Reinaldo...
Olha aí acima a parte em negrito... Se o código está escrito dessa maneira, por acaso você não está misturando inglês (COUNT) com português (SE) ? |
|
Voltar ao Topo |
|
 |
sindicley Aprendiz

Registrado: Segunda-Feira, 14 de Junho de 2010 Mensagens: 100
|
Enviada: Qui Jul 08, 2010 9:06 am Assunto: |
|
|
bom este codigo de erro esta relacionado a quantidade de registros
Depedendo da versão do execel você precisa controlar a quantidade de registros que estao sendo adicionados, quando chegar a 65mil
voce precisa cria uma nova Sheet o continuar adicionando.. |
|
Voltar ao Topo |
|
 |
reinaldoinfo Novato

Registrado: Sexta-Feira, 11 de Junho de 2010 Mensagens: 3
|
Enviada: Dom Jul 11, 2010 11:58 pm Assunto: Re: Delphi exportar para formula Excel gera erro 800A03EC |
|
|
Brasaca,
Errei no código apenas ao escrever aqui no forum, aqui digitei corretamente o nome da função CONT.SE(), e o erro persiste do mesmo jeito... |
|
Voltar ao Topo |
|
 |
jdorea Novato

Registrado: Terça-Feira, 31 de Mai de 2011 Mensagens: 1
|
Enviada: Ter Mai 31, 2011 11:20 am Assunto: Delphi exportar para formula Excel gera erro 800A03EC |
|
|
Estive pesquisando sobre o tema, e descobri que a fómula tem que está no idioma nativo do aplicativo, ou, seja INGLÊS, segundo o autor do artigo: Cristiano Stedile Magnabosco, link: http://www.planetadelphi.com.br/dica/5329/exportando-para-o-excel.
Espero ter ajudado, como fui, boa sorte. |
|
Voltar ao Topo |
|
 |
t3r3son Novato

Registrado: Domingo, 28 de Janeiro de 2007 Mensagens: 36 Localização: Paranaiba - MS
|
Enviada: Qui Jan 09, 2014 10:38 pm Assunto: Exportar para Excel |
|
|
Imagine o seguinte:
id := dmBusca.cdsBuscaGuiasConveniadoID_SEGURADO.AsInteger;
while not dmBusca.cdsBuscaGuiasConveniado.Eof do
begin
Inc(i);
Sheet.Cells[i,1] := dmBusca.cdsBuscaGuiasConveniadoNR_TITULO.AsString; //Prontuario
Sheet.Cells[i,2] := dmBusca.cdsBuscaGuiasConveniadoNOME_CLIENTE.AsString; //Nome
Sheet.Cells[i,3] := dmBusca.cdsBuscaGuiasConveniadoID_GUIA.AsInteger; //Nr Guia
// Formata o Numero para se tornar MOEDA
Sheet.Cells[i,4].NumberFormat := 'R$ #.##0,00_);(R$ #.##0,00)';
Sheet.Cells[i,4] := dmBusca.cdsBuscaGuiasConveniadoVALOR_TOTAL.AsFloat; //Valor Guia
Sheet.Cells[i,5] := dmBusca.cdsBuscaGuiasConveniadoTOTAL_DESCONTO.AsFloat; //Valor Desconto
dmBusca.cdsBuscaGuiasConveniado.Next;
if id <> dmBusca.cdsBuscaGuiasConveniadoID_SEGURADO.AsInteger then
begin
Inc(i);
Sheet.Cells[i,1] := 'Total R$';
// Na linha abaixo inclui uma soma e converti para Moeda atravez do NUMBERFORMAT
Sheet.Cells[i,4].NumberFormat := 'R$ #.##0,00_);(R$ #.##0,00)';
Sheet.Cells[i,4].formula := '=SUM(D210)';
//Nesse ponto preciso saber com inserir uma formula de forma dinamica, ou seja, a medida que muda o ID tenho que efetuar o calculo do ID anterior.
end; |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|