Da php a word

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao a tutti

è possibile esportare i dati di una taballa da php a word?

Vi spiego in php ho una tabella con Id|nome|cognome e possibile esportare i dati in una pagina di word già formattata con all'interno una tabella con tre campi Id|nome|cognome.

Grazie
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ho scaricato php ms word, che conteneva 3 file clsWord.php , index.php e readme.txt, gli ho copiati nella cartella htdocs.
E' corretto?
Poi come dal link che mi hai indicato ho inserito questo codice.

PHP:
<?php 
//1. Instanciate Word 
$word = new COM ( "word.application" ) or die( "Unable to instantiate Word" ); 
//2. specify the MS Word template document (with Bookmark TODAYDATE inside) 
$template_file = "C:/php_word.doc" ; 
//3. open the template document 
$word -> Documents -> Open ( $template_file ); 
//4. get the current date MM/DD/YYYY 
$current_date = date ( "m/d/Y" ); 
//5. get the bookmark and create a new MS Word Range (to enable text substitution) 
$bookmarkname = "Cognome" ; 
$objBookmark = $word -> ActiveDocument -> Bookmarks ( $bookmarkname ); 
$range = $objBookmark -> Range ; 
//6. now substitute the bookmark with actual value 
$range -> Text = $cognome ; 
//7. save the template as a new document (c:/reminder_new.doc) 
$new_file = "c:/php_word.doc" ; 
$word -> Documents [ 1 ]-> SaveAs ( $new_file ); 
//8. free the object 
$word -> Quit (); 
$word -> Release (); 
$word = null ; 
?>

mi da questo errore.

Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': Memoria disponibile insufficiente per completare l'operazione. ' in C:\Documents and Settings\user\Desktop\xampp-win32-1.7.3\xampp\htdocs\1test.php:3 Stack trace: #0 C:\Documents and Settings\user\Desktop\xampp-win32-1.7.3\xampp\htdocs\1test.php(3): com->com('word.applicatio...') #1 {main} thrown in C:\Documents and Settings\user\Desktop\xampp-win32-1.7.3\xampp\htdocs\1test.php on line 3

Cosa può essere?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Da quello che vedo non hai abbastanza memoria RAM per l'esecuzione dello script. Quanta ce n'è sul server che lo ospita? Comunque la mia idea non era esattamente così (anche perché calcola che questo sistema funzionerà finché lo script è su un server Windows che ha installato Word). Io pensavo proprio di sostituire brutalmente il testo con str_replace.
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ho provato su un pc con 2 gb di Ram, non mi apre neanche la pagina.

Mi spiegheresti un po in dettaglio la tua idea?


Ti ricordo che devo estrarre da un db tre dati Id|nome|cognome, e visualizzarli in word.
In word ho creato una pagina con i segnalibri id, cognome, nome e salvata come php_word.doc. Comunque mi interessa per ora che funzioni con word.

Grazie
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Io pensavo di creare un semplicissimo file di Word con, ad esempio, le stringhe ID, NOME e COGNOME. E poi semplicemente fare:
PHP:
<?php
$contents = file_get_contents('nomefile.doc');

$contents = str_replace('ID', 'id', $contents);
$contents = str_replace('NOME', 'nome', $contents);
$contents = str_replace('COGNOME', 'cognome', $contents);

$fp = fopen('nuovofile.doc', 'a+');
fwrite($fp, $contents);
fclose($fp);
?>
Senza usare bookmark e oggetti COM, ma non sono sicuro che Word memorizzi le stringhe in chiaro. Prova, ma in questo caso le stringhe ID, NOME e COGNOME non devono avere nessun elemento di formattazione tra una lettera e l'altra.
 

gracito

Utente Attivo
30 Mag 2010
109
0
0
Ciao

non riesce a passare i dati ai segnalibro di word.

Ho provato ad inserire in tutti i campi della colonna id del file 'nomefile.doc' il valore 'id'
in tutti i campi della colonna nome il valore 'nome' e in tutti i campi della colonna cognome il valore 'cognome'. Poi ho creato nella pag.php un elenco con più nomi ma il nome che viene passato al file 'nuovofile.doc' è soltanto il primo che si ripete in tutti i campi della colonna nome del file 'nomefile.doc'.
Hai qualche soluzione migliore?
PHP:
<?php
$nome = Array("gino","tino","lino");
foreach ($nome AS $nome1){

$contents = file_get_contents('nomefile.doc'); 

$contents = str_replace('Id', 'ID', $contents); 
$contents = str_replace('Nome', $nome1, $contents); 
$contents = str_replace('Cognome', 'COGNOME', $contents); 

$fp = fopen('nuovofile.doc', 'a+'); 
fwrite($fp, $contents); 
fclose($fp);

}
?>
 
Ultima modifica:

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Beh, ovvio che è soltanto il primo che si ripete in tutti i campi. La funzione str_replace serve per sostituire tutte le occorrenze di una stringa con un'altra all'interno di un testo. Il mio sistema va bene se c'è una sola occorrenza dell'ID, del nome del cognome all'interno del testo, altrimenti non so proprio come fare.
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Scrivere dei dati in word con php PHP 0
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
C info creazione documenti word in php PHP 0
M [PHP] Esportare in word PHP 2
N [PHP] inserire campi tabella in file word PHP 0
F Script PHP + MySql - immettere dati e creare un documento Word o PDF PHP 4
S Compilare un documento word da form php PHP 1
A WORD e PHP PHP 9
A PHP, word e stampa unione! PHP 3
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1

Discussioni simili