|
|
|
|
Bonjour tout le monde,
Je suis un peu en galère la.
L'idée c'est que j'ai un fichier excel avec une colonne A et une colonne B, je voudrais pouvoir uploader ce fichier, et le modifier de facon a obtenir une troisieme colonne A+B, puis l'enregistrer la ou je veux.
La partie upload ne pose pas de problemes, c'est jsute que je n'ai pas la moindre idée de comment modifier le fichier Excel avec PHP.
Merci pour votre aide.
Configuration: Windows XP Firefox 1.0.3
Salut,
|
Bah si tu connais que PHP, non je ne vois pas d'autres solutions...
|
Merci pour le lien.
$file = ($_FILES['fichier']['name'] ) ; // le fichier doit dj exister
fopen($file, "w" ) or die ("marche pas"); //on ouvre le fichier
Evidemment ca ne fonctionne pas, il ne se passe rien, sinon ça ne serait pas drôle ;) Donc si qqn voit ou ca foire... Merci d'avance |
J'aimerai te dire que y'a un intérêt, mais je n'en vois pas :d
// On définie une constante FILENAME comprenant le nom du fichier à générer et son emplacement.
define("FILENAME","C:/mon_repertoire/fichier.xls");
$excel=new COM("Excel.application"); //Instanciation de l'objet COM
$excel->sheetsinnewworkbook=1;//1 seule feuille de calcul dans le document
$excel->Workbooks->Add();//Ajout d'un classeur
$book=$excel->Workbooks(1);//$book contient le classeur actif
$sheet=$book->Worksheets(1);//$sheet contient la feuille active (comme son nom l'indique, feuille en anglais)
$sheet->Name="Nom de votre feuille";//Attribution d'un nom à la feuille
$cell=$sheet->Range('B1'); // On sélectionne la case B1
$cell->value="tut";
$book->saveas(FILENAME);//Sauvegarde du fichier
unset($sheet);//Libération de $sheet
unset($book);//Libération de $book
$excel->Workbooks->Close();//Fermeture du classeur
$excel->Quit();//On quitte Excel
unset($excel);//Libération de l'instance $excel
J'ai chopé ça la http://www.siteduzero.com/tutoriel-3-30907-generer-un-fichier-excel-via-php.html Ce bout de code créé un fichier et écrit "tut" dans la case B1. Apparement c'est du VBA remixé façon php, donc je vais tester $excel=Workbooks->Open FILENAME;pour tenter d'ouvrir un fichier deja existant. |
Me revoila, pour vous tenir un peu au courant de mon avancement, et donner des pistes à certains .
<?php
set_time_limit(10);
require_once "excelWriter/class.writeexcel_workbook.inc.php";
require_once "excelWriter/class.writeexcel_worksheet.inc.php";
$var= 'tut.xls';
$workbook =& new writeexcel_workbook(fopen($var,"r+")) or die ("Error");
$worksheet =& $workbook->addworksheet("Tut 1") or die ("Error 2");
//$book=$excel->Workbooks(1) ;
//$sheet=$book->Worksheets(1) ;
# The general syntax is write($row, $column, $token). Note that row and
# column are zero indexed
#
# Write some text
$worksheet->write(2, 0, "Meuhhh !");
$worksheet->write(2 ,1, "Pouet");
$worksheet->write(2, 2, "Plop");
$workbook->close();
header("Content-Type: application/x-msexcel; name=\"example-simple.xls\"");
header("Content-Disposition: inline; filename=\"example-simple.xls\"");
$fh=fopen($fname, "rb");
fpassthru($fh);
unlink($fname);
?>
Ca ouvre le fichier tut.xls, et y écrit 3 mots dans 3 cases différentes. Le problème c'est qu'avec ce code, on ouvre un fichier existant, mais on crée une nouvelle feuille (addworksheet), qui écrase les feuilles existantes. En clair j en'arrive pas encore a ajouter des donées sans effacer les anciennes. Donc si qqn sait comment écrire dans une feuille déja existante sans en créer une, ça m'interesse grandement ! |