Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

heliosal

PHP x Office

Recommended Posts

Pessoal tem como eu editar ou criar um arquivo .doc (MS-World) ou .xls (MS-Excel) usando o php e disponibiliza-lo para download ?

 

O q tenho em mente eh o seguinte ... Trabalho em uma ONG e to querando fazer um banco de documantos para q acabe aquilo da errar as numerações dos documentos, cria uma pagina na intranet onde sempre q elguem quiser um documento eh s´ir lá na pagina e fazer o download dele, sendo q este documento já deve estar com o cabeçalho e a numeração correta ... tipo se eu pediar um documanto ... e o numero for 001 ... o proximo será o numero 002 e assim por diante.

 

 

PS: Se alguem souber se tem como fazer um editor na propria pagina php ou html seria de bom agarado ... mas se naum for possivel o q mais me interessa no momento é a questão acima ;)

 

Maito obrigado ... desde já http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

use com com ele você cria um documento original de word e excel exemplo:

 

$content = "Texto escrito\nTeste.";

$word= new COM("word.application");

print "Documento salvo, versao: {$word->Version}\n";

$word->Visible = 0;

$word->Documents->Add();

$word->Selection->PageSetup->LeftMargin = '3"';

$word->Selection->PageSetup->RightMargin = '4"';

$word->Selection->Font->Name = 'Helvetica';

$word->Selection->Font->Size = 8;

$word->Selection->Font->ColorIndex= 13; //wdDarkRed = 13

$word->Selection->TypeText("$content");

$word->Documents[1]->SaveAs("c:/doc.doc");

$word->quit();

 

http://br2.php.net/com

 

para você ver que realmente é um documento tente abrir o documento criado no notepad você vera que nao vai dar

Compartilhar este post


Link para o post
Compartilhar em outros sites

manual do php XII. COM and .Net (Windows)

 

COM é uma tecnologia da microsoft e é um sistema do windows

na verdade o COM é um padrão de interoperabilidade

ele permite que uma DLL seja lida e utilizada por outro programa de um certo jeito, definindo como os objetos devem conversar

por isso você pode instanciar um objeto do word no VB e etc

mas como essas dlls sao do windows, nao tem como fazer a mesma coisa no linux só se a dll for portada pro linux, tem outros meios de se fazer no linux sem o COM, mas dai precisa pesquisar um jeito de linux nao manjo muito

Compartilhar este post


Link para o post
Compartilhar em outros sites
Era disso q eu tava precisando pessoal, muito obrigado mesmo, agora ja posso por a mão a obra ;) ... valeu mesmo :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

adailton em relação a criação no word, da pra criar com tabelas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

use com com ele você cria um documento original de word e excel exemplo:

 

$content = "Texto escrito\nTeste.";

$word= new COM("word.application");

print "Documento salvo, versao: {$word->Version}\n";

$word->Visible = 0;

$word->Documents->Add();

$word->Selection->PageSetup->LeftMargin = '3"';

$word->Selection->PageSetup->RightMargin = '4"';

$word->Selection->Font->Name = 'Helvetica';

$word->Selection->Font->Size = 8;

$word->Selection->Font->ColorIndex= 13; //wdDarkRed = 13

$word->Selection->TypeText("$content");

$word->Documents[1]->SaveAs("c:/doc.doc");

$word->quit();

http://br2.php.net/com

 

para você ver que realmente é um documento tente abrir o documento criado no notepad você vera que nao vai dar

<{POST_SNAPBACK}>

Mais uma dulvida em relação a isso, precisa de habilitar alguma coisa no php.ini ou usar alguma dll ou livraria para poder fazer isso, eu naum consegui :( deu o seguinte erro:

 

Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft Word

Description: Não foi possível abrir o armazenamento de macro.' in c:\inetpub\wwwroot\criawordarquivo.php:7 Stack trace: #0 {main} thrown in c:\inetpub\wwwroot\criawordarquivo on line 7

 

O q poderia ser esse erro? .. .mas tah valendo pessoal, muito bom aprender coisas novas :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

heliosal no Windows eu consegui fazer o script funcionar normalmente.,.. to com o EasyPHP

Compartilhar este post


Link para o post
Compartilhar em outros sites
Será q tem alguma coisa a ver com versões? ... pois uso o Windows 2003 Server e MS Office 2003 ... rodo o PHP com IIS, mas tudo funciona corretinho ... a naum ser quando acontece umas coisas dessas assim ... ai eu corro atraz pra saber o q é ... e como se faz ... ;) ... to pesquisando ... to tenteando ... to mexendo :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai pessoal...soh pra adicionar agora minha duvida:para jogar o texto pra dentro do word eu entendi....mas tem como eu jogar uma imagem pra dentro do documento também???

Compartilhar este post


Link para o post
Compartilhar em outros sites

<_< A porcaria do windows sempre dá problemas :( continua dando o mesmo erro:

 

Documento salvo, versao: 11.0

Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft Word

Description: Não foi possível abrir o armazenamento de macro.' in c:\inetpub\wwwroot\exemplo.php:7 Stack trace: #0 {main} thrown in c:\inetpub\wwwroot\exemplo.php on line 7

 

Já fui um monte de vezes na ajuda do php, mas tah tudo em inglês <_< ja corri atras de todas as informações, já dei permissões total a macros no word e nada ... andei pensando, eu uso o 2003 e ele tem q dá um monte de permissões na configuração do IIS ... permissão pra isso, permissão prakilo ... em fim ... será q eu tenho q fazer alguma coisa na configuração dele? http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif Já q como o Mario dissoe q no windows dele funfou, e ele usa o Easy ... o Easy eh rodado com o apache e as configrações do apache saum diferentes do IIS ...

 

... desculpa o livro q escrevi mas ...

 

Alguem pode me ajuda??? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

helio...

 

Neste documento do Word, você esta usando algum tipo de recurso especial?

Teste fazer o mesmo procedimento com um arquivo simples do Word, somente com algumas frases, sem substituir nada no seu conteúdo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Prog ... obrigado por ter postado, mas não estou usando nenhum artificio especial, nem com um codigo todo limpo e nem assim está funfando

PHP

[*]$word= new COM("word.application");

[*]$word->Visible = 0; 

[*]$word->Documents->Add()

[*]$word->Documents->SaveAs("c:\\inetpubDocument.doc")

[*]$word->quit();

sempre retorna o erro mostrado no meu post anterior

 

Muito obrigado mesmo pela força possoal ... em breve vou tá colocando aki o resultado dos meus teste ... to quase conseguindo de outra forma :D ... mas quero aprender tb na fornma convencional

 

Muito obrigado mesmo http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.