PHP+MYSQL para o MS-WORD com PHPWord

Esse PHPWord precisa ser colocado aonde, no diretor do site? Fazer uma pasta separada para ele?

Coloco a pasta no meu caso no mesmo PATH das aplicações que usam o PHPword.

NA Configuração do PATH do PHPWord.PHP

/** PHPWORD_BASE_PATH */
if(!defined(‘PHPWORD_BASE_PATH’)) {
define(‘PHPWORD_BASE_PATH’, ‘…/PHPWord/’);
require PHPWORD_BASE_PATH . ‘PHPWord/Autoloader.php’;
PHPWord_Autoloader::Register();
}

O auscriptcase morreu?

Joelton, o domínio está ativo… mas é um projeto de grupo, é preciso que todos colaborem apresentando contribuições.

Farei conversão para a V9 e atualizarei algumas coisas.

Jovito Melo

Como é que faz se eu quiser incluir uma tabela?

… POR EXEMPLO:

$table = $section->addTable(‘myTable2’);
$table->addRow(50);
$table->addCell(8000)->addText(‘Nome’, $fontStyle, $paraStyle);
$table->addCell(3000)->addText(‘Data Nasc.’, $fontStyle, $paraStyle);
$table->addCell(2000)->addText(‘Idade’, $fontStyle, $paraStyle);
$table->addCell(2000)->addText(‘Parantesco’, $fontStyle, $paraStyle);
$table->addCell(2000)->addText(‘Rendimentos’, $fontStyle, $paraStyle);
//$table->addCell(2000)->addText(‘NIF’, $fontStyle, $paraStyle);

$check_produtos = “SELECT nome,datanasc,idade,grauparantesco,rendimentos "
. ’ FROM mobilidade_agregados’
. " WHERE registo = '”.$xwnumero."’ ORDER BY NOME";
sc_select(it001, $check_produtos);

if ({it001} === false){
sc_error_message(‘Erro ao Acessar a Base de Dados.’);
}else{
while (!$it001->EOF){
$table->addRow(50);
$table->addCell(2000)->addText( $it001->fields[0]);
$table->addCell(2000)->addText( $it001->fields[1]);
$table->addCell(2000)->addText( $it001->fields[2]);
$table->addCell(2000)->addText( $it001->fields[3]);
$table->addCell(2000)->addText( $it001->fields[4]);
// $table->addCell(2000)->addText( $it001->fields[5]);

	$it001->MoveNext();
}

$it001->Close();
}

o resultado no word é este:

Bom dia, fiz como o Herberto Silva fez.
meu arquivo PHPWord esta assim:
/** PHPWORD_BASE_PATH */
if(!defined(‘PHPWORD_BASE_PATH’)) {
define(‘PHPWORD_BASE_PATH’, dirname(FILE) . ‘…\PHPWord\’);
require PHPWORD_BASE_PATH . ‘PHPWord\Autoloader.php’;
PHPWord_Autoloader::Register();
}

Minha aplicação:
chdir(’…/PHPWord’);
require_once ‘PHPWord.php’;

$phpWord = new PhpWord();
$PHPWord->setDefaultFontName(‘Arial Narrow’);
$PHPWord->setDefaultFontSize(10);

e a biblioteca esta no mesmo diretório aonde se encontra todas as aplicações do projeto mas apresenta o seguinte erro:
Fatal error: require_once(): Failed opening required ‘PHPWord.php’ (include_path=’.;C:\php\pear’) in C:\Program Files\NetMake\v9_33\wwwroot\scriptcase\app\GestorX_Web_V_final\control_php_word_2\control_php_word_2_apl.php on line 1376

1 Curtida

**** Configuração do PATH LOCAL do ficheiro PHPWord.php
/** PHPWORD_BASE_PATH */
//F:\scv9\Apache24\htdocs\scriptcase\app\GestaoApoiosSociais\PHPWord
if(!defined(‘PHPWORD_BASE_PATH’)) {
define(‘PHPWORD_BASE_PATH’, ‘F:/scv9/Apache24/htdocs/scriptcase/app/GestaoApoiosSociais/PHPWord/’);
require PHPWORD_BASE_PATH . ‘PHPWord/Autoloader.php’;
PHPWord_Autoloader::Register();
}

no servidor REMOTO:
/** PHPWORD_BASE_PATH */
if(!defined(‘PHPWORD_BASE_PATH’)) {
define(‘PHPWORD_BASE_PATH’, ‘…/PHPWord/’);
require PHPWORD_BASE_PATH . ‘PHPWord/Autoloader.php’;
PHPWord_Autoloader::Register();
}

Aonde vai ser colocado cada umas dessas partes? pq umas já coloquei junto a aplicação nos arquivos do projeto.

No modo de produção e no alojamento coloco a pasta no mesmo PATH das aplicações:

o meu esta dessa forma ai e continua dando erro.

você tem escrito:
chdir(’…/PHPWordi’);
não será
chdir(’…/PHPWord’);


convertei o erro e executei a aplicação, apareceu o seguinte:

Fatal error: require_once(): Failed opening required ‘PHPWord.php’ (include_path=’.;C:\php\pear’) in C:\Program Files\NetMake\v9_33\wwwroot\scriptcase\app\GestorX_Web_V_final\control_php_word_2\control_php_word_2_apl.php on line 1336

Verifique que se estiver usando o seu PC a barra deve ser \

chdir(’…\PHPWord’);

no servidor remoto a barra deve ser /
chdir(’…/PHPWord’);

Pode fazer um acesso remoto?

pelas 19h00 hora de Portugal… qual o programa que vai utilizar? Uso o anydesk…

Eu uso o Teamviewer para fazer acesso remoto.

Desculpe só agora, consegui…
consegue-me enviar a tabela e o ficheiro que está a gerar o documento word…

Bom dia, [Herberto Silva] o senhor ja conseguiu utilizar dentro do phpword a classe TemplateProcessor para carregar um documento e modificar.