excell br_excell Sofrmake

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

paiva
Usuário Nível 3
Usuário Nível 3
Mensagens: 300
Registrado em: 04 Ago 2005 10:28

excell br_excell Sofrmake

Mensagem por paiva »

HELP

tenho uma função que pega um dbf e gera uma planilha
e abre o EXcell

ja usei com um tal de br_excell

agora preciso com um tal de SOFTMAKER FreeOficcer

alguêm sabe o que preciso fazer ?

Paiva
paiva
Usuário Nível 3
Usuário Nível 3
Mensagens: 300
Registrado em: 04 Ago 2005 10:28

excell br_excell Sofrmake

Mensagem por paiva »

como uso

Código: Selecionar todos

    oExcel := CreateObject( "Excel.Application" )
    try
       oExcel := GetActiveObject( "Excel.Application" )
    catch
       avi_rep("Não foi Possivel Achar o Excel Instalado")
       if oDlgHabla # NIL
         oDlgHabla:CLOSE()
       endif
        p_t_date = date()
        p_t_time = time()
       return
    end
 endif
oExcel:WorkBooks:Add()
oSheet = oExcel:ActiveSheet

     select 0
            parquivo=alltrim(pusuario)
            palias  ="xxabc"
            if !prouseloal();return;endif

DbGoTop()

barra := HProgressBar():NewBox( "Gerando Planilha",,,,,reccount()/1,reccount() )


* Titulo do Relatorio
oSheet:Cells:Font:Name = "Courier New"
oSheet:Cells:Font:Size = 17
oSheet:cells:Font:ColorIndex := 11


    oSheet:Cells( 1, 1 ):Value := trim(pnomeapl)
    if  alltrim(upper(pprograma)) =  [SEMEIO]
        oSheet:Cells( 1, 1 ):Value := trim(lnome_razao)
    else
        oSheet:Cells( 1, 2 ):Value := trim(lnome_razao)
    endif

    v_est:=DbStruct()

    * Descricao das COLUNAS
    oSheet:Cells:Font:Name = "Courier New"
    oSheet:Cells:Font:Size = 12

    for x=1 to len(v_est)
       cCell=alltrim(v_est[x,1])
       oSheet:Cells( 3, x ):Value = cCell
    next
    linha=5

oSheet:cells:Font:ColorIndex := 00   &&  qual a cor BLACK ?
do while !eof()
   for x=1 to len(v_est)
      mcampo=v_est[x,1]

      do case
      case v_est[x,2] == "C" // characters
         cCell := "'"+HB_OemToAnsi(&mcampo)

      case v_est[x,2] == "N" // numbers
         cCell := &mcampo

      case v_est[x,2] == "L" // logicals
         cCell := if (&mcampo, "Sim", "Näo")

      case v_est[x,2] == "D" // dates
         cCell := &mcampo

      otherwise
         cCell := "error"

      endcase

      oSheet:Cells( linha, x ):Value = cCell
   next
   skip
   linha++
   barra:Step()
enddo
oSheet:Rows( "1:1" ):Font:bold:=.t.
oSheet:Columns:AutoFit()
barra:End()
barra:close()
oExcel:Visible := .t.
IF oDlgHabla # NIL
   oDlgHabla:CLOSE()
endif

return
Editado pela última vez por JoséQuintas em 17 Nov 2023 15:46, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
ivanil
Usuário Nível 3
Usuário Nível 3
Mensagens: 166
Registrado em: 11 Set 2004 15:13
Localização: Florianópolis/SC

excell br_excell Sofrmake

Mensagem por ivanil »

Olá Paiva,

Se me permite uma sugestão, eu diria para retirar esta dependência de objetos externos; posteriormente outro cliente pode querer usar outro tipo de pacote office e a dor de cabeça recomeça;

acompanhe este tópico, https://groups.google.com/g/harbour-users/c/sOKXmzoqXok, desta forma o arquivo é gerado sem sequer precisar de qualquer aplicativo instalado.


at;

Ivanil
Responder