Aprire file Excel modificabile

  • Creatore Discussione Creatore Discussione paulb
  • Data di inizio Data di inizio

paulb

Nuovo Utente
22 Gen 2013
5
0
0
Salve a tutti,
ho la necessità di aprire da PHP un file Excel che sia modificabile dall'utente. Ho cercato in molte discussioni, ma non ho trovato la soluzione.
E' molto importante per come è strutturato il programma che l'utente possa modificarne a piacere il contenuto, e salvare il file con un click su "Salva", senza variare né il nome né il percorso (quindi non va bene il "Salva con nome"), perché poi la procedura deve riaprire il file excel per farne delle elaborazioni (leggere dei dati e scriverli sul database, ecc.), e quindi nome e posizione del file devono rimanere quelli stabiliti a priori. Non ho assolutamente problemi di sicurezza perché si lavora in Rete Locale.

Aprendo il file nel modo classico, mi si apre in sola lettura e non è posssibile utilizzare il tasto Salva:
Codice:
if (isset($_GET["file"]) && $_GET["file"]<>"")
{
$outfile = $_GET["file"];

Header("Content-type: application/force-download");
Header("Content-Length: ".filesize($outfile));
Header("Content-Disposition: attachment; filename=$outfile");
readfile($outfile);

Ho tentato anche la strada alternativa di lanciare Excel come eseguibile, ma la pagina rimane bianca in caricamento senza eseguire nulla, e senza che vi siano errori nel log.
Le prove le ho fatte sia col comando system() sia exec(), sia mettendo il path completo (con gli '/', con i '\', con i doppi '\\'), sia solamente "excel.exe", non funziona neppure lanciando un altro eseguibile posizionato nelle stessa cartella del file php, quindi all'interno del mio spazio web: ho letto che ci possono essere dei problemi per via del safe_mode, ma ho letto anche che in php5.4 non è più supportata la variabile d'ambiente safe_mode,e comunque non l'ho trovata nel php.ini e neppure col comando phpinfo():

Avete dei suggerimenti?
grazie
 
L'unico modo per permettere la modifica di un file Excel è creare una vera e propria GUI all'interno della tua applicazione Web. Non puoi usare system() perché il comando viene eseguito sul server e, dunque, Excel viene aperto sul server.
 
L'unico modo per permettere la modifica di un file Excel è creare una vera e propria GUI all'interno della tua applicazione Web. Non puoi usare system() perché il comando viene eseguito sul server e, dunque, Excel viene aperto sul server.

Bè, veramente sulla macchina di sviluppo il server e il client coincidono, e non viene aperto nulla lo stesso..... :confused:
Comunque scartando questa strada (che avevo tentato solo come alternativa), aprendo il file col codice che ho postato non c'è un modo per fare sì che non si apra in sola lettura?
Il problema è che il file Excel non è sotto il mio controllo, ma è del cliente, che può modificarlo a piacere, l'unica cosa che posso decidere io è in quale posizione salvarlo.
 

Discussioni simili