Page 1 sur 1

PHPEXCEL impossible de lire le contenu d'une ligne avec form

Posté : 06 mai 2013, 11:43
par Akim13
Bonjour,

Sur phpexcel je peu tout lire sur toutes les colonnes sauf la dernière colonne AD, je bloque dessue car je ne sais pas lire une colonne qui contient une formule.

Le fichier Excel est un fichier fournit par mon fournisseur, donc je suis obliger de l’utilisé comme il est.

La colonne AD contient la description
Exemple de la ligne 3 Colonne AD : *HDMI HighSpeed et compatibilité HDCP.

Mais quand j’ouvre le fichier excel sur mon pc et que je fais bouton droit pour copier le texte (juste pour tester car je ne travail que sur php), magie j’ai la description complète (je ne sais pas d’où elle sort lol), mais ca m’intéresse beaucoup.

Voir le résultat de la copie


"*HDMI HighSpeed et compatibilité HDCP
*Vidéo HD non compressées jusqu'à 1080p @ 60Hz à 100m
*Transfers video, audio et HDCP sur un cordon RJ45 !
*Audio TrueHD, DTS-HD Master Audio
*Supporte la 3D (avec périphériques 3D)

Emetteur
entrée HDMI
sortie "

Les colonnes contiennent la même formule sauf A3 qui change : A3 = ligne 3, A4 = ligne 4 etc…
=RECHERCHEV(A3;'\\SRV004\Doc_CUC\INFORMATIQUE\Scripts\[BaseFTPProduit.xlsm]Caracteristiques'!A$7:B$15000;2;FAUX)

Mon echo donne ceci
// =VLOOKUP(A3,#REF!,2,FALSE)
require_once( $this->moduleDir.'PHPExcel.php' );
require_once( $this->moduleDir.'PHPExcel/Calculation.php' );
require_once( $this->moduleDir.'PHPExcel/Cell.php' );
$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;
$cacheSettings = array('memoryCacheSize' => '16MB');
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
$DATAPHPExcel = PHPExcel_IOFactory::load($filename);
$loadedSheetNames = $DATAPHPExcel->getSheetNames();
$DATAPHPExcel->setActiveSheetIndex(0);
$ColExcel = $DATAPHPExcel->getActiveSheet()->toArray(null,false,false,true);
$data =array();
$data['UPdate'] =  date( 'Y-m-d H:i:s') ;
$nbligne = count( $ColExcel );

for( $i = 1 ; $i <= $nbligne ; $i++ )
{
	if ($ColExcel[$i]['R'] != '') 
	{
		$data['1'] = $ColExcel[$i]['B']; // ok
		$data['2'] = $ColExcel[$i]['D']; // OK
		$data['3'] = $ColExcel[$i]['E']; // OK
		$data['4'] = $ColExcel[$i]['C']; // OK
		$data['5'] = $ColExcel[$i]['G']; // OK
		$data['6'] = $ColExcel[$i]['M']; // OK
		$data['8'] = $ColExcel[$i]['Q']; // OK
		$data['9'] = $ColExcel[$i]['S']; // OK
		$data['11'] = $ColExcel[$i]['U']; // OK
		
	//	etc..
	//	$data['description'] = $ColExcel[$i]['AD']; // Impossible à récupérer l'erreur // =VLOOKUP(A3,#REF!,2,FALSE)

		echo ($ColExcel[$i]['AD']).	'<br>'; // pour voir le resultat						
	}
}
Merci d'avance

Re: PHPEXCEL impossible de lire le contenu d'une ligne avec

Posté : 07 mai 2013, 19:46
par sadeq
Bonjour,

La fonction RechercheV fait référence à une feuille de classeur qui se trouve dans un chemin UNC de réseau local qui est : \\SRV004\Doc_CUC\INFORMATIQUE\Scripts\[BaseFTPProduit.xlsm]Caracteristiques
et l'erreur affiche le code #REF! qui veut dire que la liaison vers la référence est impossible.

Voilà.

Re: PHPEXCEL impossible de lire le contenu d'une ligne avec

Posté : 08 mai 2013, 12:09
par Akim13
Merci

Savez vous comment y remédié, au pire récupérer la description qui ce trouve est évité la lecture de la formule.

Re: PHPEXCEL impossible de lire le contenu d'une ligne avec

Posté : 08 mai 2013, 15:27
par sadeq
pour ça il faut disposer du classeur BaseFTPProduit.xlsm car les données utiles sont apparemment dans la feuille Caracteristiques

Est-ce que ce classeur se trouve dans ton ordinateur ou celui de ton client?

Re: PHPEXCEL impossible de lire le contenu d'une ligne avec

Posté : 08 mai 2013, 15:41
par Akim13
salut,

merci pour ton aides

je viens de d'envoyer le lien du fichier xls par MP, ce fichier est fournie par mon fournisseur, donc je n'est aucun autre fichier.

Merci d'avance

Re: PHPEXCEL impossible de lire le contenu d'une ligne avec

Posté : 08 mai 2013, 15:49
par Akim13
Je viens juste de recevoir un email du fournisseur qui me dit que des lundi un nouveau fichier sera transmis sans la formule, trop cool vraiment une semaine de galère.
1000 mercis à toi