Ouvrir un fichier excel dans controller.php zend framework

indala77 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
indala77 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

jecherche comment ouvrir un fichier excel dans un controller.php en zend framework le fichier s'ouvre mais dedans ya que le path de fichier excel

le message d'erreur






####################"
voila source controller .php



/*****afficher les EXCEL ************/
public function excelAction(){
$idxls = $this->getRequest ()->getParam('id');
echo $idxls;
$ct = new Application_Model_DbTable();
$xls = $ct->find($idxls)->current();
$xls2= $xls->name;
$xls3= $xls->size;
echo $xls2;
$xlsPath = realpath(APPLICATION_PATH . '/../public/excelshift').'/'.$xls2;
echo $xlsPath;




$this->getResponse()->setRawHeader( 'Content-Type: application/msexcel; charset=UTF-8' )
->setRawHeader( 'Content-Disposition: inline; filename = '$xls2' ' )
->setRawHeader( 'Content-Transfer-Encoding: binary' )
->setRawHeader( 'Expires: 0' )
->setRawHeader( ('Cache-Control: must-revalidate') )
->setRawHeader( 'Pragma: public' )
->setRawHeader( 'Content-Length: . ' $xls3' )
->sendResponse();

readfile( $xlsPath );
exit();


merci a vous en avance

cdt


A voir également:

3 réponses

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

A mon avis, quelque part par là:
....
readfile( $xlsPath );


je remplacerai par un

$contenuFichier = file_get_contents(....);
echo $contenuFichier;

A+
0
indala77 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
rebonjour

sa na pas marché

:(
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Ce qu'il faut faire:
- vérifier que le chemin d'accès au fichier est le bon avec un echo du chemin du fichier et nom de fichier
- faire un file_get_contents sur ce chemin+fichier
- faire un echo du contenu ou ceci:

- dans la partie controller -> action:

// partie code envoi un fichier excell
                $fichier = ....ici chemin et nom du fichier....;
echo $fichier; die;  // pour vérif chemin nom, enlever cette ligne après vérif

                // inhibition layout
                $this->_helper->layout()->disableLayout(); 
                $this->_helper->viewRenderer->setNoRender(true);

                // génération en-tête et transmission document
                header(''Content-Type: application/msexcel; charset=UTF-8');
                header('Location: '.$fichier);


A+
0
indala77 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
rebonjour mpmp93

sa na pas marché voila le code que jai mis ,jai essayer aussi avec load zend file la meme chose ,avec l'ancien code le fichier excel se charge mais il sort vide


$idxls = $this->getRequest ()->getParam('id');
//echo $idxls;
$ct = new Application_Model_DbTable_Shift();
$xls = $ct->find($idxls)->current();
$xls2= $xls->name;
$xls3= $xls->size;
$xls4= $xls->created;
// echo $xls2;
$xlsPath = realpath(APPLICATION_PATH . 'C:\Program Files\EasyPHP-12.1\www\mourad\public\excelshift') .$xls2;
echo $xlsPath;



/*$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$this->getResponse()->setRawHeader( "Content-type: application/vnd.ms-excel")
->setRawHeader( "Content-Disposition: attachment; filename =\"$xls2\" " )
//->setRawheader("Cache-Control: max-age=0");
->setRawHeader( "Content-Transfer-Encoding: binary" )
->setRawHeader( "Expires: 0" )
// ->setRawHeader("Content-Type: application/" . $mimeType)
->setRawheader("Content-Type: application/force-download")
->setRawheader("Content-Type: application/download")
->setRawHeader( "Cache-Control: must-revalidate, post-check=0, pre-check=0" )
->setRawHeader( "Pragma: public" )
->setRawHeader( "Accept-Ranges: bytes" )
->setRawHeader( "Content: " .$xls3 )
->sendResponse();
$xls5 = Zend_Loader::loadFile($pdfPath);


echo $xls5->render();*
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Désolé. Mais si je suis pas devant la machine, je sèche....
0
indala77 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
rebonsoir

merci comme meme , si vous avez le temp ,je cherche toujours a régler ce pb

merci
0