[PHP] excel 2007 copier coller
Résolu
croluc
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
croluc Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
croluc Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je ne poste pas souvent, mais la c'est un cas de légitime postage ^^
Mon objectif est le suivant, faire un copier collé de 65536 lignes d'un document csv vers un document xls.
Pas de problème pour faire le copier collé, le soucis c'est la taille de ce copié collé :
Le document de destination une fois ouvert se comporte comme si il avait 16384 lignes.
voici mon code source :
<?php
//répertoir de travail
$path = "d:\wamp\www\excel\\";
$excel = new COM("excel.application") or die("Unable to instanciate excel");
$excel->DisplayAlerts = 0;
//fichier contenant les données à copier
$wkb = $excel->Workbooks->Open($path.'ecriture.csv');
//gabari sur lequel seront collé les données du premier fichier
$wkb2 = $excel->Workbooks->Open($path.'gab.xlsx');
//création des feuilles de travail
$sheet2=$wkb2->Worksheets(1);
$sheet=$wkb->Worksheets(1);
//activation de la feuille de travail et copie des données
$sheet->activate;
$sheet->Range("A1:AA65536")->Copy;
//activation de la seconde feuille et collage des données
$sheet2->activate;
$cell = $sheet2->Cells(1,1);
$cell->Activate;
$sheet2->Paste;
//sauvegarde du fichier en sortie
$strPath = $path.'tfile'.date("Ymd").'_test.xls';
if (file_exists($strPath)) {unlink($strPath);}
$wkb2->SaveAs($strPath,39);
//fermeture d'excel
$wkb->Close(false);
$wkb2->Close(false);
$excel->Workbooks->Close();
unset($sheet);
unset($sheet2);
$excel->Quit();
$excel = null;
unset($excel);
?>
Si quelqu'un a une idée pour faire en sorte que le copier collé fonctionne sur l'intégralité des 65536 lignes je suis preneur.
Merci à tous.
Croluc
Je ne poste pas souvent, mais la c'est un cas de légitime postage ^^
Mon objectif est le suivant, faire un copier collé de 65536 lignes d'un document csv vers un document xls.
Pas de problème pour faire le copier collé, le soucis c'est la taille de ce copié collé :
Le document de destination une fois ouvert se comporte comme si il avait 16384 lignes.
voici mon code source :
<?php
//répertoir de travail
$path = "d:\wamp\www\excel\\";
$excel = new COM("excel.application") or die("Unable to instanciate excel");
$excel->DisplayAlerts = 0;
//fichier contenant les données à copier
$wkb = $excel->Workbooks->Open($path.'ecriture.csv');
//gabari sur lequel seront collé les données du premier fichier
$wkb2 = $excel->Workbooks->Open($path.'gab.xlsx');
//création des feuilles de travail
$sheet2=$wkb2->Worksheets(1);
$sheet=$wkb->Worksheets(1);
//activation de la feuille de travail et copie des données
$sheet->activate;
$sheet->Range("A1:AA65536")->Copy;
//activation de la seconde feuille et collage des données
$sheet2->activate;
$cell = $sheet2->Cells(1,1);
$cell->Activate;
$sheet2->Paste;
//sauvegarde du fichier en sortie
$strPath = $path.'tfile'.date("Ymd").'_test.xls';
if (file_exists($strPath)) {unlink($strPath);}
$wkb2->SaveAs($strPath,39);
//fermeture d'excel
$wkb->Close(false);
$wkb2->Close(false);
$excel->Workbooks->Close();
unset($sheet);
unset($sheet2);
$excel->Quit();
$excel = null;
unset($excel);
?>
Si quelqu'un a une idée pour faire en sorte que le copier collé fonctionne sur l'intégralité des 65536 lignes je suis preneur.
Merci à tous.
Croluc
A voir également:
- [PHP] excel 2007 copier coller
- Save as pdf office 2007 - Télécharger - Bureautique
- Historique copier coller - Guide
- Liste déroulante excel - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
2 réponses
Merci Bruce willix, je me déteste -_-
cette ligne est la responsable.
$wkb2->SaveAs($strPath,39);
je dois en faite utiliser :
$wkb2->SaveAs($strPath,56);
39 est compatible excel 5 et excel 7
https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2007/bb241279(v=office.12)?redirectedfrom=MSDN
Désolé pour cette question, merci encore.
Croluc
cette ligne est la responsable.
$wkb2->SaveAs($strPath,39);
je dois en faite utiliser :
$wkb2->SaveAs($strPath,56);
39 est compatible excel 5 et excel 7
https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2007/bb241279(v=office.12)?redirectedfrom=MSDN
Désolé pour cette question, merci encore.
Croluc