[PHP] excel 2007 copier coller

Résolu
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

2 réponses

  1. Contributeur
    Le document de destination, il est bien au format *.xlsx ?
    1. 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
      1. Contributeur
        Meuh non, on est justement pile poil dans ce à quoi sert le forum: à s'entraider :-)

        Courage pour la suite !
      2. merci, bon courage à vous aussi :' )