[RESOLU] Vers un Fichier excel

ViPHP
xTG
ViPHP | 7331 Messages

15 déc. 2013, 18:52

Quand tu parles de format c'est de mise en forme dont tu parles ? (couleur, police, tableau, ect)
Si c'est le cas en effet le format csv ne te permettra pas cela.
Tu as la librairie http://phpexcel.codeplex.com/ pour ce faire.

Eléphant du PHP | 58 Messages

15 déc. 2013, 19:16

bonjour xTG

pas pour les polices.

mais pour les colonnes et la première ligne

merci
On n'a le droit de ne pas savoir mais on n'a pas le droit de ne pas demander.
Ubuntu Php Mysql

ViPHP
xTG
ViPHP | 7331 Messages

15 déc. 2013, 20:03

Je n'avais pas fait gaffe que tu instanciais un objet COM (cf ton premier post).
Du coup avec ce que tu fais actuellement tu fais rien de moins que ce que propose la librairie que je t'ai linké.
Elle s'appuie sur le même principe, elle ne fait que proposer une API plus sympa à manipuler.

Eléphant du PHP | 58 Messages

15 déc. 2013, 20:07

Bonsoir xTG,
je viens de télécharger l'apli.
si j'ai bien compris ce sont ces lignes ou je dois implanter mon tableau.
remplacer les valeurs par des $_POST?
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'Hello')
            ->setCellValue('B2', 'world!')
            ->setCellValue('C1', 'Hello')
            ->setCellValue('D2', 'world!');

le code en entier
<?php
/**
 * PHPExcel
 *
 * Copyright (C) 2006 - 2013 PHPExcel
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * @category   PHPExcel
 * @package    PHPExcel
 * @copyright  Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
 * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt	LGPL
 * @version    1.7.9, 2013-06-02
 */

/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');

if (PHP_SAPI == 'cli')
	die('This example should only be run from a Web Browser');

/** Include PHPExcel */
require_once '../Classes/PHPExcel.php';


// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// Set document properties
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
							 ->setLastModifiedBy("Maarten Balliauw")
							 ->setTitle("Office 2007 XLSX Test Document")
							 ->setSubject("Office 2007 XLSX Test Document")
							 ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
							 ->setKeywords("office 2007 openxml 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', 'éàèùâêîôûëïüÿäöüç');

// 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);


// Redirect output to a client’s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;

et je ne sais dans quel fichier se trouve le code pour la connexion à la base de données.

Merci
On n'a le droit de ne pas savoir mais on n'a pas le droit de ne pas demander.
Ubuntu Php Mysql

ViPHP
xTG
ViPHP | 7331 Messages

16 déc. 2013, 08:30

Comme je te l'ai écrit c'est toit qui voit à utiliser cette librairie ou utiliser un objet COM, c'est strictement la même chose.
Ensuite il est normal que tu ne trouves pas la base de données dans l'exemple puisque c'est un exemple statique.
C'est à toi d'y incorporer une sélection des données en provenance d'une bdd si besoin est.
Cet exemple ne fait que remplir un fichier excel avec des valeurs en dur.

La partie que tu as trouvé correspond bien à ce que tu cherches oui.