Como criar um arquivo do Word (.DOC) com PHP

Recentemente publiquei aqui no Blogson Como gerar um arquivo do Excel com PHP e desde então recebo alguns e-mails de como fazer o mesmo com arquivos .DOC do Word.

Acredite, isso é muito mais simples do que gerar um arquivo XLS do Excel, o exemplo a seguir mostra como fazer sem o uso de bibliotecas gigantescas e confusas;

Exemplo de como exportar um conteúdo HTML para o WORD usando PHP

 <?php
	header("Content-Type: application/vnd.msword");
	header("Expires: 0");
	header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
	header("content-disposition: attachment;filename=blogson.doc");
	echo "
		<html>
		<meta charset='utf-8'>
		<h1>BLOGSON - O Blog do Prof. Anderson</h1>
		
		<p>
			Este é um <strong>parágrafo<strong>.
		<p>
		
		<p>
			Este é outro parágrafo com a foto do Sergio <br/>
			<img src='https://www.blogson.com.br/wp-content/uploads/2018/08/Sergio-Monte-Verde-204x300.jpg'>
		<p>
		
		<p style='color:blue'>Bye Bye</p>
		
		</html>
 ";     
?> 

Você duvida que isso funciona bem? Então que tal testar? Clique aqui.

Eis o resultado:

Exemplo de como exportar dados para WORD usando PHP sem forçar o download

No exemplo acima perceba que estamos forçando o download, isso faz sentido pois na maioria das vezes não precisamos guardar o arquivo no servidor, mas caso você queira criar um botão de exportação, isso é bem simples de resolver, veja este outro exemplo;

<?php
$conteudoWord = "
		<meta charset='utf-8'>
		<h1>BLOGSON - O Blog do Prof. Anderson</h1>
		
		<p>
			Este é um <strong>parágrafo<strong>.
		<p>
		
		<p>
			Este é outro parágrafo com a foto do Sergio <br/>
			<img src='https://www.blogson.com.br/wp-content/uploads/2018/08/Sergio-Monte-Verde-204x300.jpg'>
		<p>
		
		<p style='color:blue'>Bye Bye</p>"; 
 ?>

<form method="post">
	<button type="submit" name="exportar"> Exportar para o Word</button>
</form>
<hr/>

 
<?php
  if(isset($_POST['exportar']))
  {
    header("Content-Type: application/vnd.msword");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("content-disposition: attachment;filename=sampleword.doc");
  }          
  
  echo "<html>";
  echo "$conteudoWord ";
  echo "</html>";       
?> 

Veja este exemplo funcionando clicando aqui

Download do exemplo de como exportar dados para o WORD com PHP

Eis os arquivos para download, lembrando que você precisa de um servidor local (instale o XAMPP ou Vertrigo) ou deverá publicar os arquivos em um serviço de hospedagem.

Clique aqui para fazer o download.

criar arquivo DOC do WORD com PHPexportar HTML para DOC com PHPexportar para o Word com PHPexportar texto para o WORD com PHPgerar arquivo do WORD com PHPgerar arquivo DOC com PHP