13/09/2009 écrit par Cyril GRANDJEAN

Synology DS 109
Voici ma dernière acquisition pour mon serveur maison.

Ce NAS n’est pas qu’un simple support de stockage. C’est aussi un serveur complet, personnalisable, économe en énergie qui permet nativement d’accéder très facilement à ses fichiers en FTP et HTTP en réseau local ou sur internet. Il peut aussi héberger des sites web, partager des fichiers photos et vidéos via une superbe interface en AJAX. Pour voir l’intégralité des fonctionnalités intégrées nativement, cliquez – ici.

Pour pouvoir ajouter d’autres fonctionnalités, le forum www.nas-forum.com peut vous y aider.

01/09/2009 écrit par Cyril GRANDJEAN

Lors de mon stage, je devais créer un fichier XLS en utilisant PHP et MySQL. J’ai alors découvert la librairie PHPExcel qui permet la lecture et l’écriture des fichiers XLSX.

Le format XLSX est un format qui est supporté nativement par Excel 2007 et ultérieur. Pour les versions antérieurs, cela nécessite l’installation du module suivant : http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=941b3470-3ae9-4aee-8f43-c6bb74cd1466.

Voici quelques lignes de codes qui vont vous permettre de créer votre premier fichier XLS en utilisant PHP.

  1. Télécharger et copier la librairie PHP Excel dans votre projet PHP
  2. Créer un fichier PHP en utilisant la syntaxe suivante :
/** Report des erreurs */
error_reporting(E_ALL);

/** Chemin vers notre dossier contenant la librairie **/
set_include_path(get_include_path() . PATH_SEPARATOR . 'PHPExcel/Classes/');

/** PHPExcel */
include 'PHPExcel.php';
/** PHPExcel_Writer_Excel2007 */

include 'PHPExcel/Writer/Excel2007.php';

// On crée notre objet Excel
$objPHPExcel = new PHPExcel();

//On ajoute notre contenu
//Attention, un utf8_encode() est nécessaire pour les caractères comme 'é', 'è', ..
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Ligne 1 Colonne 1');
$objPHPExcel->getActiveSheet()->setCellValue('A2', utf8_encode('Durée'));

//Gérer la taille de la colonne
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);

//Gérer le style de la police
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(10);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

//Mettre une bordure sur une case
$objPHPExcel->getActiveSheet()->getStyle('A1')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

// Sauvegarder notre fichier xlsx
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('../data_xls/myfileXLS.xlsx');

Ce petit tutoriel permet uniquement d’exécuter les commandes de bases nécessaire à la création d’un fichier XLSLX. Pour des usages avancés : cliquez ici.