dal database a Excel (o spreadsheet)

non amo il pacchetto Office, non lo uso quasi mai, ma questo non vuol dire che tutto il mondo non debba usarlo. E’ sicuramente una buona suite di programmi e sopratutto TUTTI sanno usare word, excel e powerpoint (tutti, tranne me, appunto.)

Ci sono alcune realtà professionali dove l’utilizzo di excel è praticamente indispensabile come è indispensabile per me la caffeina. Excel ti permette di fare un sacco di cose, ma purtroppo non è un formato prettamente web. Si, lo puoi aprire se hai installato la suite direttamente dal browser (se sei sotto windows e hai attivato il plugin), ma comuque per modificarlo dei per forza di cose scaricarlo sul pc, modificarlo salvarlo e dopodichè… ti rimane comunque sul pc, oppure lo devi trasferire via FTP sul server, presupponendo le conoscenze per fare questa seppur semplice, delicata operazione.

Quindi? Quindi niente, è una constatazione di fatto la mia, ma se il problema non dovesse essere quello di modificare? Ma solo di “salvare” il file in formato excel? Semplice, uso un form, un database e un semplice file PHP.

Partiamo un form semplice semplice.

Form → Database → Excel

<form action="salvaForm.php" method="get">
<label<nome</label< <input id="nome" type="text" name="nome" />
<button type="submit"<salva</button>
</form>

ora il salvataggio nel database, la pagina “salvaForm.php”:

Form → Database → Excel

//connetto il database
$db = @mysql_connect("localhost", "NomeUtenteDB", "Password")
	or die ("Connessione al db non è possibile, hai cambiato qualcosa?...");

@mysql_select_db("nomeDataBase", $db)	
	or die ("Impossibile selezionare il db...");
	mysql_set_charset('utf8', $db);

//recupero il campo dal form
$Nome	= $_REQUEST['nome'];

//salvo nella tabella "nomi", precedentemente creata
$sql="INSERT INTO nomi (nome) VALUES (".$Nome.")";

if (!mysql_query($sql,$db))
  {
  die('Error: ' . mysql_error());
  }

// ora apro la pagina per il download
?>
<script language="javascript">
	top.location.href = "salvaExcel.php?nome=<?=$Nome?>";
</script>

Nota, il reindirizzamento l’ho fatto in javascript, perchè, sinceramente, in PHP () sono più i problemi che altro. [sarò io che non riesco ad usarlo, ovviamente]

la pagina salvaExcel.php

Form → Database → Excel

<?php

	//questo è il punto di creazione del file EXCEL	

   $filename="nomeFileExcel.xls";
   header ("Content-Type: application/vnd.ms-excel");
   header ("Content-Disposition: inline; filename=$filename");
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang=it><head>
<title>Salva</title></head>
<body>

<?	
//connetto il database
$db = @mysql_connect("localhost", "NomeUtenteDB", "Password")
	or die ("Connessione al db non è possibile, hai cambiato qualcosa?...");

@mysql_select_db("nomeDataBase", $db)	
	or die ("Impossibile selezionare il db...");
	mysql_set_charset('utf8', $db);

//recupero il nome passato tramite il redirect
		$NomeForm = $_REQUEST['nome'];

//apro il record database corrispondente
		$mySQL="SELECT nome FROM nomi WHERE nome = $NomeForm";
		$rq = mysql_query($mySQL);

		while ($rs = mysql_fetch_assoc($rq)) {
			//associo una nuova variabile
			$NomeDB		= 	"${rs['nome']}";
		}
?>

<!-- qui si genera la tabella in HTML, che verrà compilata in excel. -->

<table border="1">
<tr>

	<td>il nome è:</td> <td><?= $NomeDB ?></td>

</tr>

</table>
</body></html>

scaricato

voilà.

Pubblicato

in

da

Tag: