XLS para PDF

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

XLS para PDF

Mensagem por Alexandre Silva »

Tem uma maneira de converter uma planilha excell para pdf ?

No exemplo abaixo, abro um arquivio excell, mudo um conteudo de uma celula, e salvo o arquivo com outro nome. isso ok

Mas gostaria de salvar em PDF. Mudar para c:\teste2.pdf nao funcionou

Código: Selecionar todos

FUNCTION testex()
LOCAL oExcel := CREATEOBJECT( "Excel.Application" )
LOCAL oSheet
oExcel:WorkBooks:Open( "c:\teste.xls" )
oExcel:Visible := .f.
oSheet = oExcel:ActiveSheet
? oSheet:Cells(1,1):Value := 'Conteudo'
OExcel:WorkBooks(1):SaveAs('C:\teste2.xls')
oExcel:Quit()
RETURN
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

XLS para PDF

Mensagem por Mario Mesquita »

Olá.

Tem que ser via programa? Creio que terá que gerar uma impressão e fazer uma saída em PDF. Dependendo do uso, o Win 10 já tem uma saída para PDF nativa. Ou algo via programa também...

Saudações,
Mario.
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

XLS para PDF

Mensagem por Alexandre Silva »

Consegui...
OExcel:WorkBooks(1):ExportAsFixedFormat(Type:=0,FileName:="d:\teste.pdf",Quality:=0)

https://learn.microsoft.com/pt-br/offic ... ixedformat

***

Outra opcao, é pelo SaveAs, exemplo: OExcel:WorkBooks(1):SaveAs('C:\teste2.html',44)
44 é Html, nao achei o codigo para pdf, seria o ideal

https://learn.microsoft.com/pt-br/offic ... ook.saveas
https://learn.microsoft.com/pt-br/offic ... fileformat
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

XLS para PDF

Mensagem por Kapiaba »

tente algo assim:

Código: Selecionar todos

METHOD SaveToPdf() CLASS Resumen_Movtos
   LOCAL cFilePdf := cTempFile(  "\"+CurDir()+'\tmp'  , ".PDF" )

   ::oExcel := CREATEOBJECT( "Excel.Application" )
   ::oExcel:WorkBooks:Open( cFileXls )
   ::oExcel:Sheets( cHoja1  ):Select()
   ::oSheet := ::oExcel:Get( "ActiveSheet" )
   ::oSheet:PageSetup:PaperSize   := 1
   ::oSheet:PageSetup:Orientation := 2
   ::oSheet:ExportAsFixedFormat(0, cFilePdf, 0, .t., .f. )
   ::oExcel:Quit()
   MSGRUN( "Abriendo PDF FILE, por favor espere un momento: ", "Usuario", {|| Shellexecute( 0,"open", cFilePDF )  } )

RETURN (NIL)
Regards, saludos.
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

XLS para PDF

Mensagem por carlos_dornelas »

Alexandre,
Outra opcao, é pelo SaveAs, exemplo: OExcel:WorkBooks(1):SaveAs('C:\teste2.html',44)
44 é Html, nao achei o codigo para pdf, seria o ideal
Vendo o link que você postou, acho que para salvar como DBF, seria "OExcel:WorkBooks(1):SaveAs('C:\teste2.dbf',7)", que uma necessidade minha neste momento, ou seja, preciso converter um XLS em DBF...

Você poderia passar o restante da rotina que me permita abrir o arquivo xls e executar esse comando para salvar como DbAse?

Grato

Antonio Carlos
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

XLS para PDF

Mensagem por Alexandre Silva »

Os formatos disponiveis sao esses
https://learn.microsoft.com/pt-br/offic ... fileformat

como nao achei PDF, entao usei o comando que ja mencionei.
OExcel:WorkBooks(1):ExportAsFixedFormat(Type:=0,FileName:="d:\teste.pdf",Quality:=0)
Esse Type=0 é PDF
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

XLS para PDF

Mensagem por carlos_dornelas »

Alexandre, talvez eu não tenha me expressado bem...
Os formatos disponiveis sao esses
https://learn.microsoft.com/pt-br/offic ... fileformat
Sim, já acessei esse link e vi que o formato para se salvar como DBF é 7.
Você poderia passar o restante da rotina que me permita abrir o arquivo xls...
O que te pedi foi isso...se você puder compartilhar, fico muito grato

[]s

Antonio Carlos
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

XLS para PDF

Mensagem por Alexandre Silva »

Oi
Nesse exemplo,eu abro edito, salvo e exporto em pdf

Código: Selecionar todos

function main()
local varqx,cfilpdf,oExcel,oSheet
varqx:='C:\arquivo.xls'   // nome completo do arquivo com caminho e a unidade 
cfilepdf:='C:\arquivo.pdf' // nome completo do arquivo com caminho e a unidade 
oExcel:= CREATEOBJECT( "Excel.Application" )
oExcel:WorkBooks:Open(varqx) //
oExcel:Visible := .f.  // se .t. vai abrir o arquivo na tela
oSheet = oExcel:ActiveSheet
? oSheet:Cells(1,1):Value :='Mudo o conteudo desssa celula' // todas as propriedades ficam valendo o que esta no arquivo, fonte, tamanho, etc
? oSheet:Cells(2,1):Value :='Mudo o conteudo desssa celula'
OExcel:WorkBooks(1):save()  // salva no excell
OExcel:WorkBooks(1):ExportAsFixedFormat(Type:=0,FileName:=cfilepdf,Quality:=1,IncludeDocProperties:=.t.,IgnorePrintAreas:=.t.,1,1) // type:=0 exporta em pdf
OExcel:quit()
retu
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Responder