PHP+MYSQL para o MS-WORD com PHPWord

… 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:

1 Curtida

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

2 Curtidas

**** 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();
}

1 Curtida

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

1 Curtida

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

1 Curtida

o meu esta dessa forma ai e continua dando erro.

1 Curtida

1 Curtida

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

1 Curtida


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

1 Curtida

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

chdir(’…\PHPWord’);

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

1 Curtida

Pode fazer um acesso remoto?

1 Curtida

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

1 Curtida

Eu uso o Teamviewer para fazer acesso remoto.

1 Curtida

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

1 Curtida

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

1 Curtida

O tempo passou e a dica foi perdida www.auscriptcase.com.br

1 Curtida

Buenas Noches, han trabajado con la libreria PHPWord llamandola con la macro sc_include_library.

Porque he tratado de realizar lo que han hecho y me da error.

trabajo con scriptcase 9.7.

1 Curtida

publica el error que aparece, ou, posta o erro que aparece.

ok, como trabajo con scriptcase 9.7, cargo la librería de la siguiente manera:

sc_include_library(“sys”,“PHPWord”, “Autolader.php”, true, true);
$documentoPHPWord = new PhpOffice\PhpWord();

El cual me muestra el siguiente error:

Fatal error : Uncaught Error: Class ‘PhpOffice\PhpWord’ not found in /Applications/Scriptcase/v9-php73/wwwroot/scriptcase/app/TierrasDeChile_Intranet/blank_7_Doc_Word/index.php:1781 Stack trace: #0 /Applications/Scriptcase/v9-php73/wwwroot/scriptcase/app/TierrasDeChile_Intranet/blank_7_Doc_Word/index.php(2143): blank_7_Doc_Word_apl->controle() #1 {main} thrown in /Applications/Scriptcase/v9-php73/wwwroot/scriptcase/app/TierrasDeChile_Intranet/blank_7_Doc_Word/index.php on line 1781

Estou passando por essa mesma situação, alguém poderia me passar como resolver?
Estou usando Scriptcase 9.7. Ja tentei usar Biblioteca Externa Publica e tentei tbm com biblioteca em projeto.