2017-05-16 1 views
0

Je convertis des fichiers Excel dans une table HTML avec PHPEXcel, en utilisant Php5.3.13 et Symfony2.PHPExcel getHyperlinks par colonne

Celui travail:

$objPHPExcel->getActiveSheet()->getColumn('N4')->hasHyperlink(); 
$url = $objPHPExcel->getActiveSheet()->getCell('N4')->getHyperlink()->getUrl(); 
$url = str_replace('../old/path', '/new/path', $url); 
$objPHPExcel->getActiveSheet()->getCell('N4')->getHyperlink()->setUrl($url); 

ÉDITÉE: Je veux juste le faire sur la colonne:

$objPHPExcel->getActiveSheet()->rangeToArray('N1:N9')->hasHyperlink(); 
$url = $objPHPExcel->getActiveSheet()->rangeToArray('N1:N9')->getHyperlink()->getUrl(); 
$url = str_replace('old/path', '/new/path', $url); 
$objPHPExcel->getActiveSheet()->rangeToArray('N1:N9')->getHyperlink()->setUrl($url); 

Pouvez-vous me montrer comment faire une boucle sur getHyperlinkCollection(); résultat s'il vous plaît?

Merci beaucoup! @MarkBaker

Répondre

1

L'objet feuille de calcul contient les détails de tous les liens hypertextes, et vous pouvez récupérer ces informations à l'aide

$sheet->getHyperlinkCollection(); 

Ceci renvoie un tableau d'objets de lien hypertexte, indexés par adresse de cellule; et vous pouvez ensuite utiliser array_filter() avec un rappel approprié et l'indicateur ARRAY_FILTER_USE_KEY défini pour extraire ceux dans une plage spécifique.

+0

J'utilise PHP 5.3 alors le paramètre flag n'existe pas .. J'ai édité mon post @MarkBaker –

+0

Pouvez-vous me montrer comment je boucle sur le tableau de résultats? @MarkBaker –