Bonjour,

J'ai un souci d'ouverture d'un fichier Excel "fichier1.xls" qui a été préalablement enregistrer avec PHP.

Voici le code d'enregistrement du fichier: (ce code fonctionne)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
	header("Content-type: application/vnd.ms-excel");
	header("Content-Disposition: attachment; filename=\"standard.xls\"");
 
	echo '<TABLE border="1"><TR><TD>Code Article</TD><TD>Désignation Article</TD><TD>Code Fournisseur SRM</TD><TD>Désignation Fournisseur</TD><TD>Prix Standard N+1</TD><TD>Prix Standard N</TD><TD>Prix Standard N-1</TD><TD>Prix Standard N-2</TD><TD>Prix Standard N-3</TD><TD>Prix Budget N+1</TD><TD>Prix Budget N</TD><TD>Prix Budget N-1</TD><TD>Prix Budget N-2</TD><TD>Prix Budget N-3</TD><TD>Status N+1</TD><TD>Année N+1</TD><TD>Année N</TD><TD>Année N-1</TD><TD>Année N-2</TD><TD>Année N-3</TD><TD>Devise</TD><TD>Entreprise</TD><TD>Site</TD><TD>Renseigner</TD></TR>';
 
	while ($listeStandard=mysql_fetch_assoc($resStandard)) {
		$codeArt = $listeStandard["code_article"];
		$desArt = $listeStandard["designation_article"];
		$codeFour = $listeStandard["code_fournisseur_SRM"];
		$four = $listeStandard["designation_fournisseur"];
		$search = array("\t", "\n", "\r");
		$desArt = str_replace($search, ' ', $desArt);
		$desArt = str_replace("'","\'", $desArt);
		$four = str_replace($search, ' ', $four);
		$four = str_replace("'","\'", $four);
		$prixStandNP1BDD = str_replace(".",",", $listeStandard['prixStand_NP1']);
		$prixStandNBDD =  str_replace(".",",", $listeStandard['prixStand_N']);
		$prixStandNM1BDD =  str_replace(".",",", $listeStandard['prixStand_NM1']);
		$prixStandNM2BDD =  str_replace(".",",", $listeStandard['prixStand_NM2']);
		$prixStandNM3BDD =  str_replace(".",",", $listeStandard['prixStand_NM3']);
		$prixBudgetNP1BDD =  str_replace(".",",", $listeStandard['prixBudget_NP1']);
		$prixBudgetNBDD =  str_replace(".",",", $listeStandard['prixBudget_N']);
		$prixBudgetNM1BDD =  str_replace(".",",", $listeStandard['prixBudget_NM1']);
		$prixBudgetNM2BDD =  str_replace(".",",", $listeStandard['prixBudget_NM2']);
		$prixBudgetNM3BDD =  str_replace(".",",", $listeStandard['prixBudget_NM3']);
		$statusNP1BDD = $listeStandard['status_NP1'];
		$anneeNP1BDD = $listeStandard['anneeNP1'];
		$anneeNBDD = $listeStandard['anneeN'];
		$anneeNM1BDD = $listeStandard['anneeNM1'];
		$anneeNM2BDD = $listeStandard['anneeNM2'];
		$anneeNM3BDD = $listeStandard['anneeNM3'];
		$devise = $listeStandard["devise"];
		$entrepriseBDD = $listeStandard["entreprise"];
		$siteBDD = $listeStandard["site"];
		$renseigner = $listeStandard['renseigner'];
 
		print '<TR>';
		print '<TD>' .$codeArt.  '</TD>';
		print '<TD>' .$desArt.  '</TD>';
			print '<TD>' .$codeFour.  '</TD>';
			print '<TD>' .$four.  '</TD>';
			print '<TD>' .$prixStandNP1BDD.  '</TD>';
			print '<TD>' .$prixStandNBDD.  '</TD>';
			print '<TD>' .$prixStandNM1BDD.  '</TD>';
			print '<TD>' .$prixStandNM2BDD.  '</TD>';
			print '<TD>' .$prixStandNM3BDD.  '</TD>';
			print '<TD>' .$prixBudgetNP1BDD.  '</TD>';
			print '<TD>' .$prixBudgetNBDD.  '</TD>';
			print '<TD>' .$prixBudgetNM1BDD.  '</TD>';
			print '<TD>' .$prixBudgetNM2BDD.  '</TD>';
			print '<TD>' .$prixBudgetNM3BDD.  '</TD>';
			print '<TD>' .$statusNP1BDD.  '</TD>';
			print '<TD>' .$anneeNP1BDD.  '</TD>';
			print '<TD>' .$anneeNBDD.  '</TD>';
			print '<TD>' .$anneeNM1BDD.  '</TD>';
			print '<TD>' .$anneeNM2BDD.  '</TD>';
			print '<TD>' .$anneeNM3BDD.  '</TD>';
			print '<TD>' .$devise.  '</TD>';
			print '<TD>' .$entrepriseBDD.  '</TD>';
			print '<TD>' .$siteBDD.  '</TD>';
			print '<TD>' .$renseigner.  '</TD>';
			print '</TR>';
		}
 
		print '</TABLE>';

Et voici le code de réouverture du fichier :
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
 
include '../connex.php';
require_once '../Excel/reader.php';
header('Content-type: text/html; charset=ISO-8859-15');
header("Cache-Control: no-cache");
 
// lecture des variable GET
$fichier = $_GET["fichier"];
$chemin = $_GET["chemin"];
$entreprise = $_GET["entreprise"];
$site = $_GET["site"];
 
chmod('../'.$chemin.'/'.$fichier, 0777); 
 
// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();
 
// Set output Encoding.
 
$data->setOutputEncoding('ISO-8859-15');
 
 
if ($site!=""){
	$data->read('../STANDARD/'.$entreprise.'/'.$site.'/'.$fichier);
}else{
	$data->read('../STANDARD/'.$entreprise.'/'.$fichier);
}
En fait il bloque au niveau du read il me met l'erreur suivante:
[Break on this error] The filename ../STANDARD/MSCOMPOSITES/LIEVIN/standard.xls is not readable

Lorsque je copie le contenue du fichier excel "fichier1.xls" vers un nouveau fichier excel "fichier2.xls", j'ouvre le nouveau fichier excel "fichier2.xls" avec PHP et cela fonctionne très bien.

Je me suis dis que c'etait les droits du fichier mais ils sont les mêmes.

Par contre j'ai remarqué que dans le fichier que je n'arrive pas à ouvrir "fichier1.xls" il y a dans Outils - Options - onglet Général - Options Web - Onglet Codage dans la première liste on a Europe Occidentale (Windows) et que dans le nouveau fichier "fichier2.xls" cette liste est grisé et il n'y a rien dedans. Est-ce à cause de cela?

Merci d'avance