Designed by Derf !
38 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter





   

PHP et Excel

Utilisation du PHP avec un tableau EXCEL





Hello
Hello de Sector One (eh vi, l'auteur de cette application et de cet article), dont je vais essayer de rester le plus simple et le plus clair possible.
Je vais vous proposer une petite application en PHP avec l'utilisation de fichiers de données au format EXCEL, et en plus en licence GNU (open-source), donc l'application complète se trouve sur mon site : http://www.odbcphp.fr.st

Preparation
Vous devez posséder Microsoft Excel (sous licence) ou Star office (gratuit en cliquant ici)
Vous devez aussi avoir installé Easyphp, le kit d'installation du PHP disponible en (cliquant ici)
Et bien sur, le programme XLS MAGIQUE... Actuellement la version 2.06 est disponible


Installation
après dézippage dans ../easyphp/www/

C'est expliqué dans le fichier "à lire" contenu dans l'archive mais bon...

Vous devez placer votre fichier dans le dossier liste, c'est à dire : Prenons le logiciel Microsoft Excel
- A partir du menu déroulant : Choisir Fichier et Sauvegarder sous...
- Sélectionner le type de fichier : CSV (séparateur : point-virgule) (*.csv)
- Placer votre fichier dans le dossier liste ../easyphp/www/xlsMagique/liste

- Lancez la page http://localhost/xlsMagique


Principes généraux

Son auteur a une nouvelle fois voulu, réaliser une application presque 100 % automatique, et comme à son habitude, il l'a fait.

Tout d'abord, nous avons la posibilité de mettre plusieurs fichiers excel dans le dossier liste qui seront gérés individuellement. Mais de pouvoir les importer vers une table SQL sans modifier les lignes de programmations de l'application. Et bien sur, de faire la meme chose mais en sens inverse, c'est à dire l'exporter vers un tableau Excel.

Lecture d'un fichier Excel au format CSV :

    <?
function read_csv( $filename, $separateur)      // transfert le fichier dans un tableau
{
 if ( $FILE=fopen($filename,"r") )               // ouverture du fichier
 {
  while ($ARRAY[]=fgetcsv($FILE,1024,$separateur));      // lire ligne par ligne et coupe colonne par colonne
  fclose($FILE) ;                              // ferme le fichier
  array_pop($ARRAY);                                    // efface la derniere ligne
  return $ARRAY ;                              // renvoie le tableau
 }
}
$ARRAY=read_csv("$dossier$nom_fichier",$separateur);      // lit le fichier
?>

    
Affiche le tableau en mémoire au format HTML
    <?
$heigh=sizeof($ARRAY);            // compte le nombre de ligne
$width=sizeof($ARRAY[0]);         // nombre de colonne par ligne

echo "<TABLE>";                          // ouvre la tableau HTML
for($i=1;$i<$heigh;$i++)                 // les données du tableau
{
    echo "<TR>\n";                       // Nouvelle ligne
    for($j=0;$j<$width;$j++)           // affiche colonne par colonne
    {
     echo "<TD>";

     if( $ARRAY[$i][$j]=="" )         // si la case est vide
         echo "&nbsp;";               // n'affiche rien
     else                        // sinon 
     {
         echo "<center>";
         echo htmlspecialchars($ARRAY[$i][$j], ENT_QUOTES); // affiche les données
         echo "</center>";
     }
     echo "</TD>\n";               // ferme la colonne
    }
    echo "</TR>\n";                  // ferme la ligne
}

echo "</TABLE>\n";                     // tableau terminé                         // Fin tableau
?>

    





L'IMPORT

Je ne vais pas vous décrire comment importer ce tableau ARRAY (vu ci-dessus), mais le programme se base sur la première ligne pour attribuer les noms des champs

Connexion à une base de donnée Access :
    <?
$user="root"; // login    
$password=""; // password   
$db="xlsmagique";   // nom de la base de donnée
?>

    


Creation d'un fichier SQL :
    <?
$db_link = mysql_connect($serveur,$user,$password);   // ouverture serveur
if (!$db_link) Error_handler("Erreur connection serveur" , $db_link );

mysql_create_db( $db, $db_link );      // creation de la base de donnée

$query = "CREATE TABLE $fichier (";            // prepare creation table
for($j=0;$j<$width;$j++)
{
 $query .= "{$ARRAY[0][$j]}";
 $query .= " text NOT NULL";
 if ($j != $width-1) $query .= ", ";
}
$query .= ");";

mysql_select_db( $db, $db_link );                        // selectionne la Table
mysql_query( $query, $db_link );                         // execute creation Table

?>

    


Vous obtiendrez le résultat suivant (pour les connaisseurs des fonctions) :
CREATE TABLE exemple (lettre text NOT NULL, num text NOT NULL, col1 text NOT NULL, col2 text NOT NULL, col3 text NOT NULL, col4 text NOT NULL)
Après au lieu d'envoyer votre tableau au format HTML, vous l'envoyer dans votre base de donnée que vous venez de créer.



L'EXPORT

Si on peut importer un fichier Excel dans une base de donnée SQL, il est tout à fait envisable de faire la même chose mais dans le sens contraire.
C'est le cas de l'application XLS MAGIQUE, qui vous permet de le faire...

Vous devrez par contre saisir le nom de votre base de donnée SQL, sinon le programme utilisera ses paramètres par défaut. L'auteur vous offre de nombreuses possibilités :

- Sélectionnez une ou plusieurs tables de votre base de donnée
- La possibilité de paramétrer la ou les tables sélectionnées ci-dessus spécifiant certains critères très précis et/ou de tri croissant ou tri décroissant.

Si vous avez choisi plusieurs tables, vous obtiendrez plusieurs fichiers, car le fichier CSV ne gère que feuille par feuille.



Lecture d'un fichier CSV

Dernier point à connaître, et on aura terminé pour ce cours.
Vous avez exporté votre base de donnée et les fichiers sont sur votre disque dur.
Pour les lire, vous devez lancer votre tableur (Excel ou Star office) :

- A partir du menu déroulant: choisir Fichier et Ouvrir...
- Sélectionner le type de fichier : Fichier texte (*.csv)
et vous verrez le resultat final.



A vous de jouer !

En Espérant, vous avoir montrer la facilité de son utilisation, je pense que vous avez tout dans vos mains pour réaliser de jolies tableaux au format Excel.



Pour pouvoir écrire dans ce forum, identifiez-vous !

 Lire  13/06/2008 de bere
Je viens de regarder en prenant une autre table dans ...
 Lire  13/06/2008 de bere
En effet mes entêtes possèdent des ° pour certains d'...
 Lire  11/06/2008 de bere
Rebonjour, Je n'ai toujours pas résolu mon problème ...
  • 11/06/2008 de Hello vos entete de lignes possèdent des ° je ...
  •  Lire  10/06/2008 de bere
    bonjour, j'ai installé la version 2.40 de xls magiqu...
     Lire  01/06/2008 de Danielnord
    Bonjour, J'ai installé la version 2.35 de XLS Magi...
  • 01/06/2008 de Hello bonjour La version actuelle de XLS Magiq...
  •  Lire  05/05/2008 de qeumarh
    A l'attention de Hello. Bonjour, les codes ci des...
  • 05/05/2008 de Vonscott Salut, Si tu veux juste afficher t...
  • 05/05/2008 de qeumarh Bonjour, merci de m'avoir repondu s...
  • 05/05/2008 de qeumarh c'est encore moi. j'ai écrit le code ...
  • 05/05/2008 de Hello bonjour concernant la routine qui a été ...
  • 06/05/2008 de Vonscott Salut, @Hello La routine ne manqu...
  • 07/05/2008 de qeumarh salut VONSCOTT ok ca marche. enfin ...
  •  Lire  21/02/2008 de alwadheh
    Est-il possible pour les visiteurs de la page pour mo...
  • 21/02/2008 de DB77 Tu crois que tu fais quoi ici, quand tu pos...
  • 21/02/2008 de Hello bonjour Si je comprends, tu veux pouvoir...
  • 22/02/2008 de Bienvenue bonjour, comment tranformé le code...
  •  Lire  09/09/2007 de ghizlanebimo
    mais le prob , c'est que j'ai jamais travailler avce...
  • 09/09/2007 de DB77 Je ne t'ai pas dit de travailler avec ASP m...
  • 09/09/2007 de DB77 Là : http://www.asp-php.net/scripts/asp-php...
  • 09/09/2007 de ghizlanebimo dc, j ecompren ok je vais l ete...
  • 09/09/2007 de DB77 Oui, mais là, il faut Excel sur le serveur ...
  •  Lire  09/09/2007 de ghizlanebimo
    c koi l'adresse d site dont vous m'avez parlésvp?
  • 09/09/2007 de DB77 <§img=http://www.asp-php.net/espace/aurelie...
  •  Lire  08/09/2007 de ghizlanebimo
    svp MR , si j'ai déja une base de donnée mysql et j e...
  • 09/09/2007 de DB77 Perso, pour faire un fichier Excel en ASP, ...
  • 14/09/2007 de Hello bonjour Avec XLS Magique, cela fonctionn...
  •   v1.3p © ASP-PHP.net 2002  

    Hello le 12/10/2002 (184 695 hits)
    Didier Ils l’ont fait avec SQL Server. Découvrez comment !
    Concours de programmation Flash !
    Au fil des news  
    ASP - Redimensionner Image + Picto après Upload - Galerie photos, revue de presse, ...
    But : Proposer aux visiteurs de charger des images sans se soucier du "poids" de l'image, puisqu'on ...
    Exporter et Importer un site SharePoint - Comment déplacer un site SharePoint
    Une question est très régulièrement posée à tout responsable de ferme SharePoint : Comment ...
    Bon anniversaire - Comment le souhaiter à ses membres ?
    Avoir un site, c'est bien. Avoir des inscrits, c'est mieux. Souhaiter leur anniversaire, c'est ...
    Audio & Vidéo - Multimédia dans ses pages web
    AUDIO/VIDEO : QuickTime, MediaPlayer, RealPlayer, FlashPlayer, ... : Du multimédia dans ses pages ...
    Magazines - Le Hors-Série .Net de Programmez !
    PHP - Administrer en ligne - Protection des pages
    Protéger ses pages pour administrer son site en ligne en (relative) sécurité (PHP).
    Communautés - Concours de programmation Flash !
    [MAJ] Afficher ses images à la taille voulue - Utilisation du composant IMGSIZE
    Ajout de la vérification de l'existence du fichier et d'un test d'erreur de retour du composant ...
    Protéger ses Images - Propriété intellectuelle - Vie privée
    Je me suis penché sur la question en tant qu'artiste moi-même, et concepteur de site web pour ...
    Création de miniatures - Fonction php de création
    Cette fonction sert à créer des miniatures.
    ASP - ADMINISTRER en ligne - Protection des pages
    Protéger ses pages pour administrer son site en ligne en (relative) sécurité (ASP).
    JavaScript - Numéros de ligne à gauche d'un textarea
    Protection - Sécurité - Mise au point - Précautions - Solutions
    Même sans être paranoïaque, on a tous entendu parler de failles de sécurité, piratage informatique, ...
    AspSmartUpload - Mode d'Emploi
    Le composant ASPSmartUpload (gratuit) permet de gérer les téléchargements de FICHIERS ou de ...
    JavaScript - Contrôler une date saisie dans un formulaire
    HTML - Ajouter un fichier multimédia dans une page web
    HTML - Musique de Fond sur son site
    Afficher ses images à la taille voulue - Utilisation du composant IMGSIZE
    Devant la diversité des formats d'image actuels, il est parfois nécessaire de connaître les ...
    CSS - Icône Personnalisée sur son site
    JavaScript - Interdire Clic Droit et message d'alerte
    CSS - Curseur Personnalisé sur son site
    JavaScript - Fenêtre à la Dimension de l'Ecran
    La gouvernance SharePoint - Partie 1 - Première partie sur la gouvernance dans Sharepoint
    Un projet de mise en place de ferme SharePoint est un projet important pour toute structure ...
    ASP - Redimensionner Image + Picto après Upload
    ASP - Administration en ligne : Protection des Pages
    PHP - Administration en ligne : Protection des Pages
    PHP - Redimensionner Image + Picto après Upload
    ASP - Boutons ON OFF pour tout type de musique
    PHP - Boutons ON OFF pour tout type de musique
    SharePoint et OpenSearch - Utiliser l'option OpenSearch avec SharePoint
    Nous avons maintenant un site SharePoint fonctionnel associé à un moteur de recherche efficace. Il ...
    Magazines - Le n°109 de Programmez est disponible
    SharePoint et PowerShell - Utilisation de PowerShell pour un script d'admin
    PowerShell est le nouveau moteur de script de Microsoft. Il permet tout comme VBScript de créer des ...
    [MAJ] [PHP] - Validation de formulaire - Gestion des erreurs via style CSS
    Ajout de la sécurité anti sql injection de premier niveau.
    Adobe - Adobe propose 3 nouvelles versions bêta publiques
    VBScript - Interroger un serveur MYSQL
    Divers - Web developpement
    PHP5 - Copie de fichiers distants
    Les stratégies de Backup dans WSS V3 - Quelles sont les différentes solutions de BackUp
    Nous avons vu au travers des précédents articles différents sujets pour Windows SharePoint Services ...
    Création d'une solution de déploiement SharePoint - Créer la solution pour notre composant SharePoint
    Après avoir suivi toutes les étapes pour la création de notre composant (Feature) SharePoint, il ...
    Magazines - Le n°108 de Programmez est disponible
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3 © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     MVP The Inquirer FR Codes Sources Groupes Utilisateurs Microsoft ASP-magazine El Roubio TechNet DotNet Project Wygwam CodePPC