PHPOffice
https://github.com/PHPOffice/
Librairie pour créer, lire et écrire des documents aux formats
standards de la bur...
Fonctionnalités principales :
● Gestion des méta-données (auteur, description, etc.)
● Formatage et Style des cellules et ...
Formats Extensions Lecture Ecriture
BIFF(5-8) : MS Excel 95+ .xls, .xlt
✓ ✓
SpreadSheetML : MS Excel 2003 .xml
✓
OpenXML :...
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set document properties
$objPHPExcel->getProperties()->set...
Fonctionnalités principales :
● Gestion des méta-données (auteur, description, etc.)
● Gestion des sections avec paramétra...
Formats Extensions Lecture Ecriture
MS Word 97+ .doc
✓
OpenXML : MS Word 2007+ .docx
✓ ✓
OpenDocument : LibreOffice .odt
✓...
$phpWord = new PhpOfficePhpWordPhpWord();
$phpWord->addFontStyle('rStyle', array('bold' => true, 'italic' => true, 'size' ...
Fonctionnalités principales :
● Gestion des méta-données (auteur, description, etc.)
● Gestion des slides avec paramétrage...
Formats Extensions Lecture Ecriture
MS PowerPoint 97+ .ppt
✓
OpenXML : MS PowerPoint 2007+ .pptx
✓
OpenDocument : LibreOff...
$objPHPPowerPoint = new PhpPowerpoint();
// Set properties
$objPHPPowerPoint->getProperties()->setCreator('PHPOffice')
->s...
Fonctionnalités principales :
● Gestion des méta-données (auteur, description, etc.)
● Gestion des ressources
● Gestion de...
Fonctionnalités principales :
● Gestion des formes
● Gestion des connecteurs
PHPVisio
Formats Extensions Lecture Ecriture
...
Fonctionnalités principales :
● Gestion des bases de données, tables, colonnes et lignes
PHPAccess
Formats Extensions Lect...
PHPOffice = Qualité
 Documenté
 Via ReadTheDocs.org
 Et PHPDocumentor
 Testé
 Via Travis CI
 Avec PHP_CodeSniffer
 ...
Présentation PHPOffice
Prochain SlideShare
Chargement dans…5
×

Présentation PHPOffice

4 992 vues

Publié le

Présentation de PHPOffice et des divers projets le composant : PHPExcel, PHPPowerPoint, PHPWord, PHPProjet, PHPVisio et PHPAccess.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
4 992
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3 195
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Présentation PHPOffice

  1. 1. PHPOffice https://github.com/PHPOffice/ Librairie pour créer, lire et écrire des documents aux formats standards de la bureautique ● PHPExcel ● PHPPowerPoint ● PHPWord ● PHPProject ● PHPVisio ● PHPAccess License : LGPL (peut être lié à du code non-propriétaire)
  2. 2. Fonctionnalités principales : ● Gestion des méta-données (auteur, description, etc.) ● Formatage et Style des cellules et du contenu ● Rich Text dans les cellules ● Formatage conditionnel ● Fusion de cellules ● Liens hypertexte ● AutoFiltre ● Options d'impression ● Figer des volets ● Images embarqués (à partir de fichiers ou d'images générées) ● Diagrammes ● Moteur de calcul de formule embarqué pour le pré-calcul des formules ● ...
  3. 3. Formats Extensions Lecture Ecriture BIFF(5-8) : MS Excel 95+ .xls, .xlt ✓ ✓ SpreadSheetML : MS Excel 2003 .xml ✓ OpenXML : MS Excel 2007+ .xlsx ✓ ✓ OpenDocument : LibreOffice .ods ✓ GNumeric .gnumeric ✓ SYLK .slk ✓ HTML .htm, .html ✓ ✓ CSV .csv ✓ ✓ PDF (tcPdf, domPDF, mPDF) .pdf ✓
  4. 4. // Create new PHPExcel object $objPHPExcel = new PHPExcel(); // Set document properties $objPHPExcel->getProperties()->setCreator("Me") ->setLastModifiedBy("Me") ->setTitle("PHPExcel Test Document") ->setSubject("PHPExcel Test Document") ->setDescription("Test document for PHPExcel, generated using PHP classes.") ->setKeywords("office PHPExcel php") ->setCategory("Test result file"); // Add some data $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'Hello') ->setCellValue('B2', 'world!') ->setCellValue('C1', 'Hello') ->setCellValue('D2', 'world!'); // Miscellaneous glyphs, UTF-8 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A4', 'Miscellaneous glyphs') ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); $objPHPExcel->getActiveSheet()->setCellValue('A8',"HellonWorld"); $objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1); $objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true); // Rename worksheet $objPHPExcel->getActiveSheet()->setTitle('Simple'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); // Save Excel 2007 file $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); // Save Excel 95 file $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save(str_replace('.php', '.xls', __FILE__));
  5. 5. Fonctionnalités principales : ● Gestion des méta-données (auteur, description, etc.) ● Gestion des sections avec paramétrage (orientation, taille de page, numérotation, header & footer) ● Gestion de l'UTF-8 et des fonts asiatiques ● Styles personnalisées (polices, paragraphes) ● Gestion de : ● Paragraphes ● Titres ● Sommaire ● Retour à la ligne/page ● Images (local, distance) en image ou watermark ● Objets OLE (Excel, Visio,…) ● Listes ● Hyperliens ● Notes de bas de page/de fin ● Formes (arc, rectangle, etc.) ● Diagrammes ● Champs de formulaire
  6. 6. Formats Extensions Lecture Ecriture MS Word 97+ .doc ✓ OpenXML : MS Word 2007+ .docx ✓ ✓ OpenDocument : LibreOffice .odt ✓ ✓ WordPad .rtf ✓ ✓ HTML .html, .htm ✓ PDF (tcPdf, domPDF, mPDF) .pdf ✓
  7. 7. $phpWord = new PhpOfficePhpWordPhpWord(); $phpWord->addFontStyle('rStyle', array('bold' => true, 'italic' => true, 'size' => 16, 'allCaps' => true, 'doubleStrikethrough' => true)); $phpWord->addParagraphStyle('pStyle', array('alignment' => 'center', 'spaceAfter' => 100)); $phpWord->addTitleStyle(1, array('bold' => true), array('spaceAfter' => 240)); // New portrait section $section = $phpWord->addSection(); // Simple text $section->addTitle(htmlspecialchars('Welcome to PhpWord', ENT_COMPAT, 'UTF-8'), 1); $section->addText(htmlspecialchars('Hello World!', ENT_COMPAT, 'UTF-8')); // Two text break $section->addTextBreak(2); // Defined style $section->addText(htmlspecialchars('I am styled by a font style definition.', ENT_COMPAT, 'UTF-8'), 'rStyle'); $section->addText(htmlspecialchars('I am styled by a paragraph style definition.', ENT_COMPAT, 'UTF-8'), null, 'pStyle'); $section->addText(htmlspecialchars('I am styled by both font and paragraph style.', ENT_COMPAT, 'UTF-8'), 'rStyle', 'pStyle'); $section->addTextBreak(); // Inline font style $fontStyle['name'] = 'Times New Roman'; $fontStyle['size'] = 20; $textrun = $section->addTextRun(); $textrun->addText(htmlspecialchars('I am inline styled ', ENT_COMPAT, 'UTF-8'), $fontStyle); $textrun->addText(htmlspecialchars('with ', ENT_COMPAT, 'UTF-8')); $textrun->addText(htmlspecialchars('color', ENT_COMPAT, 'UTF-8'), array('color' => '996699')); // Link $section->addLink('https://github.com/PHPOffice/PHPWord', htmlspecialchars('PHPWord on GitHub', ENT_COMPAT, 'UTF-8')); $section->addTextBreak(); // Image $section->addImage('resources/_earth.jpg', array('width'=>18, 'height'=>18)); $phpWord->save('file.docx', 'Word2007');
  8. 8. Fonctionnalités principales : ● Gestion des méta-données (auteur, description, etc.) ● Gestion des slides avec paramétrage ● Gestion de l'UTF-8 et des fonts asiatiques ● Styles personnalisées (polices, paragraphes) ● Gestion de diagrammes ● Gestion des transitions
  9. 9. Formats Extensions Lecture Ecriture MS PowerPoint 97+ .ppt ✓ OpenXML : MS PowerPoint 2007+ .pptx ✓ OpenDocument : LibreOffice .odp ✓
  10. 10. $objPHPPowerPoint = new PhpPowerpoint(); // Set properties $objPHPPowerPoint->getProperties()->setCreator('PHPOffice') ->setLastModifiedBy('PHPPowerPoint Team') ->setTitle('Sample 01 Title') ->setSubject('Sample 01 Subject') ->setDescription('Sample 01 Description') ->setKeywords('office 2007 openxml libreoffice odt php') ->setCategory('Sample Category'); // Create slide $currentSlide = $objPHPPowerPoint->getActiveSlide(); // Create a shape (drawing) $shape = $currentSlide->createDrawingShape(); $shape->setName('PHPPowerPoint logo') ->setPath('./resources/phppowerpoint_logo.gif') ->setHeight(36) ->setOffsetX(10) ->setOffsetY(10); $shape->getShadow()->setVisible(true)->setDirection(45)->setDistance(10); // Create a shape (text) $shape = $currentSlide->createRichTextShape() ->setHeight(300) ->setWidth(600) ->setOffsetX(170) ->setOffsetY(180); $shape->getActiveParagraph()->getAlignment()->setHorizontal( Alignment::HORIZONTAL_CENTER ); $textRun = $shape->createTextRun('Thank you for using PHPPowerPoint!'); $textRun->getFont()->setBold(true) ->setSize(60) ->setColor( new Color( 'FFE06B20' ) ); $objPHPPowerPoint->save('file.pptx', 'PowerPoint2007'); $objPHPPowerPoint->save('file.odp', 'ODPresentation');
  11. 11. Fonctionnalités principales : ● Gestion des méta-données (auteur, description, etc.) ● Gestion des ressources ● Gestion des tâches PHPProject Formats Extensions Lecture Ecriture MS Project Exchange .mpx ✓ ✓ GanttProject .gan ✓ ✓ HTML .html, .htm ✓
  12. 12. Fonctionnalités principales : ● Gestion des formes ● Gestion des connecteurs PHPVisio Formats Extensions Lecture Ecriture Dia .dia ✓ Visio 97+ .vsd ✓ Visio 2007+ .vsdx ✓
  13. 13. Fonctionnalités principales : ● Gestion des bases de données, tables, colonnes et lignes PHPAccess Formats Extensions Lecture Ecriture Access .mdb ✓ SQL .sql ✓ MySQL Workbench .mwb ✓
  14. 14. PHPOffice = Qualité  Documenté  Via ReadTheDocs.org  Et PHPDocumentor  Testé  Via Travis CI  Avec PHP_CodeSniffer  Avec PHP Mess Detector  Avec PHPUnit (> 80% de CC) Fonctionnel API

×