Bonjour,
voilà mon problème, j'aimerai pouvoir récupérer des données contenues dans un fichier xls en php.
J'ai trouvé quelques trucs sur le net mais mon traitement est beaucoup trop long (+ de 30sec) donc le serveur n'aime pas trop.
Le problème est que j'analyse toutes les cellules du tableur et j'aimerai savoir si il y avait une fonctionnalité VBScript qui permet de savoir si il y a une valeur dans toute une colonne ou dans toute une ligne car en ce moment j'analyse toutes les cellules, donc pour les colonnes de A à IV et 65 536 lignes.
SVP ne me proposé pas d'enregistrer mes fichiers en cvs. Par contre si vous avez un script php qui modifie un xls en cvs.
voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
$filename = "D:/Program Files/wamp/www/Excel/Liste/Clients2.xls";
 
$excel_app = new COM("Excel.application") or Die ("Did not connect");
$sheet=1; 
// Pour lire 
$Workbook = $excel_app->Workbooks->Open($filename) or Die("Did not open $filename $Workbook");
$Worksheet = $Workbook->Worksheets($sheet);
$Worksheet->activate;
 
$tableau = array();
 
$ligne = 1;
 
while($ligne <= 65536){	
	$j=65;//C'est ici qu'on va jouer sur les codes ascii
	$jj=64;//Premiere lettre du tableau, colonne (de A à IV)
 
	while((chr($jj) != "I") || (chr($j) != "V")) {
		//test si on a dépassé la colonne Z
		if($jj==64){
			$cell=$Worksheet->Range(chr($j).$ligne)->value;//chr, renvoie la lettre correspondant au code ASCII
		}
		else{
			$cell=$Worksheet->Range(chr($jj).chr($j).$ligne)->value;
		}
 
		if(chr($j) == "Z"){
			$jj++;
			$j = 64;
		}
 
		$table[] = $cell;
		$j++;
	}
	$ligne++;
}
echo "good";
 
/************************************
Fermeture totale
************************************/
unset($sheet);//Libération de $sheet
unset($Workbook);//Libération de $book
$excel_app->Workbooks->Close();//Fermeture du classeur
$excel_app->Quit();//On quitte Excel
unset($excel_app);//Libération de l'objet $excel
?>