Class Write Excel - Modifier le type de Fichier

Eléphanteau du PHP | 15 Messages

04 nov. 2011, 14:20

Bonjour,

En utilisant la class writeExcel, lors de la création d'un fichier, en sortie, le type de fichier est à "Classeur Microsoft Excel 5.0/95(*xls). Je voudrais modifier ce type est le passer à "Classeur Microsoft Excel(*xls).

Aprés quelques recherche, je pense que la modification doit être faîtes dans le fichier "class.writeexcel_biffwriter.inc.php" soit dans la fonction "writeexcel_biffwriter()" en modifiant le parametres "$this->BIFF_version = 0x0500;" soit dans la fonction "function _store_bof($type)".

"0x0500" doit definir Excel 5.0 mais je ne sais pas par quoi le remplacer pour avoir le bon format.

Si quelqu'un à déjà eu ce probléme, j'aimerais bien connaître sa réponse.

Merci d'avance.

Mammouth du PHP | 568 Messages

04 nov. 2011, 15:14

Bonjour,

En utilisant la class writeExcel, lors de la création d'un fichier, en sortie, le type de fichier est à "Classeur Microsoft Excel 5.0/95(*xls). Je voudrais modifier ce type est le passer à "Classeur Microsoft Excel(*xls).

Aprés quelques recherche, je pense que la modification doit être faîtes dans le fichier "class.writeexcel_biffwriter.inc.php" soit dans la fonction "writeexcel_biffwriter()" en modifiant le parametres "$this->BIFF_version = 0x0500;" soit dans la fonction "function _store_bof($type)".

"0x0500" doit definir Excel 5.0 mais je ne sais pas par quoi le remplacer pour avoir le bon format.

Si quelqu'un à déjà eu ce probléme, j'aimerais bien connaître sa réponse.

Merci d'avance.
En aucun cas je te conseille de toucher au fichier de la library.

Et tu n'as pas bien cherché car il existe une méthode pour définir ton document au format 2007 ou 2010.

En gros tu instancie un objet
$objPHPExcel = new PHPExcel();
Et lors de l'enregistrement tu défini le format à Excel2007 pour du .xls
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
Et sinon je te renvoie à la documentation.

Eléphanteau du PHP | 15 Messages

04 nov. 2011, 15:25

Je ne vois pas trop ou reproduire ton code !

Voicin mon code PHP simplifié
require_once "../class/php_writeexcel-0.3.0/class.writeexcel_workbook.inc.php";
require_once "../class/php_writeexcel-0.3.0/class.writeexcel_worksheet.inc.php";

$workbook_calls = &new writeexcel_workbook($file);
$worksheet_calls = &$workbook_calls->addworksheet();
$worksheet_calls->write($row,$col,$Val);
$workbook_calls->close();
J'utilise la class writeExcel !

Mammouth du PHP | 568 Messages

04 nov. 2011, 16:48

Je ne vois pas trop ou reproduire ton code !

Voicin mon code PHP simplifié
require_once "../class/php_writeexcel-0.3.0/class.writeexcel_workbook.inc.php";
require_once "../class/php_writeexcel-0.3.0/class.writeexcel_worksheet.inc.php";

$workbook_calls = &new writeexcel_workbook($file);
$worksheet_calls = &$workbook_calls->addworksheet();
$worksheet_calls->write($row,$col,$Val);
$workbook_calls->close();
J'utilise la class writeExcel !
Tu utilise quel version de PHPExcel ?

Eléphanteau du PHP | 15 Messages

07 nov. 2011, 11:49

C'est peut être bete comme quesion , mais ou puis je le voir ? writeexcel-0.3.0 ?

Mammouth du PHP | 568 Messages

07 nov. 2011, 14:37

C'est peut être bete comme quesion , mais ou puis je le voir ? writeexcel-0.3.0 ?
Dans mon répertoire PHPEXcel, à la racine, j'ai un fichier PHPExcel.php qui contient la ligne
 * @version    1.7.5, 2010-12-10

Eléphanteau du PHP | 15 Messages

07 nov. 2011, 15:23

Je n'ai pas de repertoire PHPExcel mais un répertoire php_writeexcel-0.3.0

On ne doit pas utiliser le même bibliothéque :

La tienne -> PHPExcel - La mienne -> PHPWriteExcel
PHPWriteExcel => Version 2.1, February 1999

Ma class est surement obsolete (1999 !!!)

A t-on avis dois-je changer de bibliothéque et utiliser PHPExcel ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

07 nov. 2011, 15:30

Ma class est surement obsolete (1999 !!!)A t-on avis dois-je changer de bibliothéque et utiliser PHPExcel ?
pour version >1999 d'excel oui c'est mieux ;)


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 15 Messages

07 nov. 2011, 16:14

Je vais essayer de changer de class et utiliser PHPExcel, peut être (voir surement) que le fichier sera automatique au bon format.

Je vous tiens au courant.

Merci de votre aide.