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
24
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
24
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
24
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
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
I dominio aruba versione php server linux Domini 1
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
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1

Discussioni simili