Página 1 de 1

XLS para PDF

Enviado: 27 Out 2023 17:13
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

XLS para PDF

Enviado: 27 Out 2023 17:56
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.

XLS para PDF

Enviado: 28 Out 2023 09:02
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

XLS para PDF

Enviado: 30 Out 2023 12:16
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.

XLS para PDF

Enviado: 30 Out 2023 17:37
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

XLS para PDF

Enviado: 30 Out 2023 18:36
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

XLS para PDF

Enviado: 30 Out 2023 22:14
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

XLS para PDF

Enviado: 31 Out 2023 09:44
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