1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| <h2>Administration des importations des fichiers excel</h2>
<?php
// Inclusion de la classe pour l'exportation excel => CSV
require_once 'include/classe/excel/reader.php';
// Définition des colonnes à prendre en compte pour chacun des fichiers
$Carac_fichier = array( 'inv_utilisateur.xls' => array ('nom_bdd' => 'inv_utilisateur', 'nbr_col' => '8', 'nbr_depart' => 2),
'inv_print.xls' => array ('nom_bdd' => 'inv_print', 'nbr_col' => '6', 'nbr_depart' => 2),
'inv_switch.xls' => array ('nom_bdd' => 'inv_switch', 'nbr_col' => '6', 'nbr_depart' => 2),
'inv_licenece.xls' => array ('nom_bdd' => 'inv_licence', 'nbr_col' => '6', 'nbr_depart' => 2),
'inv_pc.xls' => array ('nom_bdd' => 'inv_pc', 'nbr_col' => '65', 'nbr_depart' => 2)
);
if (!isset($_POST['fichiers']) ) $fichiers[] = "";
else $fichiers[] = $_POST['fichiers'];
if (!isset($_POST['sendadd']) ) $sendadd = "";
else $sendadd = $_POST['sendadd'];
$chemin = 'fichier/excel/'; // Répertoire contenant les fichiers
$sql = ''; // Initialisation de la requête SQL.
?>
<form method="post" action="" enctype="multipart/form-data" />
<strong>Fichiers : </strong> <input type="file" name="fichiers[]" size="70" />
<input type="submit" name="submit" value="Envoyer" /><input type="hidden" name="sendadd" value="ok"><br /><br />
Vous pouvez importer les fichiers
<?php foreach($Carac_fichier as $cle=>$valeur) echo '<strong>' .$cle.'</strong>, '; ?>
</form>
<?php
if ($fichiers != "" && $sendadd == "ok")
{
// Upload du fichier sur le serveur
// ==================================================================================
// Enregistrement des noms de fichiers envoyés et temporaire
$nom_du_fichiers = $_FILES['fichiers']['name'][0];
$nom_du_fichiers_temporaire = $_FILES['fichiers']['tmp_name'][0];
//Now it's OK, upload !
if (@copy($nom_du_fichiers_temporaire, $chemin.$nom_du_fichiers)) // $chemin
{
echo "Upload réussi du fichier : <strong>" .$nom_du_fichiers. "</strong>.<br />";
// Conversion du fichier sur le serveur
// ==================================================================================
// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();
// Set output Encoding.
$data->setOutputEncoding('CP1251');
$data->read($chemin.$nom_du_fichiers);
// Teste de l'existance du fichier dans le tableau $Carac_fichier
if ( isset($Carac_fichier[$nom_du_fichiers]) )
{
echo "<br /><br /><strong>Début de la lecture du fichier excel ligne par ligne ... </strong><br /><br />";
// Enregistrement du nombre de colonne à afficher
$nom_bdd = $Carac_fichier[$nom_du_fichiers]['nom_bdd'];
$nbr_col = $Carac_fichier[$nom_du_fichiers]['nbr_col'];
$nbr_depart = $Carac_fichier[$nom_du_fichiers]['nbr_depart'];
// Parcours du fichier excel
error_reporting(E_ALL ^ E_NOTICE);
for ($i = $nbr_depart; $i <= $data->sheets[0]['numRows']; $i++)
{
$sql = "INSERT INTO `" .$nom_bdd. "` VALUES ( '', ";
for ($j = 1; $j <= $nbr_col; $j++)
{
if ( $j != $nbr_col )
$sql .= "'" .$data->sheets[0]['cells'][$i][$j]. "',";
else
$sql .= "'" .$data->sheets[0]['cells'][$i][$j]. "');"; //echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo $sql . "<br />";
$db_s->query($sql); // c'est ici l'erreur
}
echo "<br /><strong> ... Fin de la lecture du fichier</strong>";
}
else
$erreur = "Le fichier n'est pas référencé.";
}
else
$erreur = "Echec de l'upload du fichier <strong>!</strong>";
echo '<br /><span class="text_alert">' .$erreur. '</span><br />';
//Si le fichier temporaire n'a pas été effacé par le serveur
if (is_file($nom_du_fichiers_temporaire))
@unlink($nom_du_fichiers_temporaire);
}
?> |
Partager