title: Repeated file withc PHPEXCEL
body: <p>I have the next code on PHP using PHPEXCEL to export. The problem is users download data of another users sometimes. I check the user but something is wrong. </p>
  
  <p>I think that it could be session problem but the user load fine.</p>
  
  <pre><code>&lt;?
  if(is_file("import.php")) {
  require_once("import.php");
  }else {
  echo "No se encuentra import.php &lt;br /&gt;";
  }
  
  if(is_file("funciones.php")) {
  require_once("funciones.php");
  }else {
  echo "No se encuentra funciones.php &lt;br /&gt;";
  }
  $user = JFactory::getUser();
  $userid = $user-&gt;get('id');
  $name = strtolower($user-&gt;get('name'));//Uso esta funci?n para cambiar a minusculas todo el texto.
  $username = strtolower($user-&gt;get('username'));
  
  if ($userid== 0){
  print "No estas logueado en el sistema";
  $pantalla=$usuario['username'];
  print "$pantalla";
  }
  else{
  $input = new jinput;
  $tablaS= $username.'s';
  $tablaD= $username.'d';
  $link = mysql_connect("localhost","","");
  $dbSelected = mysql_select_db("db",$link);
  if ($dbSelected) 
  $result=mysql_query("SELECT j.sfid, c.name FROM jerarquias j, Centros c WHERE j.cad='$username' AND j.sfid=c.sfid" );
  $result2=mysql_query("SELECT t.ean, t.description, UPPER(g.gama), t.gama FROM tgamas t, gamas g WHERE g.idGama=t.gama ORDER BY 4,2");
  require_once ('Classes/PHPExcel.php');
  /** PHPExcel_Writer_Excel2007 */
  // Crea un nuevo objeto PHPExcel
  $objPHPExcel = new PHPExcel();
  
  // Establecer propiedades
  $objPHPExcel-&gt;getProperties()
  -&gt;setCreator("Mperezr9")
  -&gt;setLastModifiedBy("Mperezr9")
  -&gt;setTitle("Listado de Stock")
  -&gt;setSubject("Listado de Stock")
  -&gt;setDescription("En este documento encuentras el listado de Stock de los centros de tu jerarquia sin los terminales incluidos en propuestas de devolucion")
  -&gt;setKeywords("Excel Office 2003 openxml php");
  //-&gt;setCategory("Pruebas de Excel");
  // }
  $c=0;
  
  while ($record=mysql_fetch_row($result)){
  //echo "no entra brother";
  $matrizCentros[$c][0]=$record[0];//guardo sfid
  $matrizCentros[$c][1]=$record[1];//guardo nombre
  //echo $matrizCentros[$c][1];
  ++$c;
  //echo 'while primero'; 
  }
  
  $c=0;
  //While para rellenar todos los terminales de la tabla terminales
  while ($record2=mysql_fetch_row($result2)){
  //echo 'entra';
  $matrizEans[$c][0]=$record2[0];//guardo ean
  //echo $record[0];
  $matrizEans[$c][1]=$record2[1];//guardo descripción
  $matrizEans[$c][2]=$record2[2];//guardo gama
  $objPHPExcel-&gt;setActiveSheetIndex(0)
  -&gt;setCellValueByColumnAndRow(1,$c+2,$record2[1]); //Grabo en excel las descripciones de los terminales
  $objPHPExcel-&gt;setActiveSheetIndex(0)
  -&gt;setCellValueByColumnAndRow(0,$c+2,$record2[2]); //Grabo en excel la gama del terminal
  ++$c; 
  }
  
  $centros=count($matrizCentros);
  for ($i=0;$i&lt;$centros;$i++){
  $tabla=strtolower($matrizCentros[$i][0].'s');
  $objPHPExcel-&gt;setActiveSheetIndex(0)
  -&gt;setCellValueByColumnAndRow($i+2,1,$matrizCentros[$i][1]); 
  $result3=mysql_query("SELECT count(*), ean FROM $tabla GROUP BY ean");//guardo las cantidades de cada terminal que tenemos en stock en el centro
  $c=0;
  while ($record3=mysql_fetch_row($result3)){
  $matrizStock[$c][0]=$record3[0];//guardo cantidad
  $matrizStock[$c][1]=$record3[1];//ean
  ++$c;
  }
  //++$c; 
  $eans=count($matrizEans)+1;
  $stock=count($matrizStock); 
  for ($h=0; $h&lt;$eans;$h++){
  for ($j=0;$j&lt;$stock;$j++){ 
  if ($matrizEans[$h][0]===$matrizStock[$j][1]){
  $objPHPExcel-&gt;setActiveSheetIndex(0)
  -&gt;setCellValueByColumnAndRow($i+2,$h+2,$matrizStock[$j][0]);
  break; 
  }
  }
  }
  unset($matrizStock);
  //$c=count($matrizEans);
  //prueba para averiguar usuario en la columna GS y la fila 200
  $objPHPExcel-&gt;setActiveSheetIndex(0)
  -&gt;setCellValueByColumnAndRow(200,200,$username);
  
  $objRichText = new PHPExcel_RichText();
  //$objRichText-&gt;createText('GAMA');
  
  $objBold = $objRichText-&gt;createTextRun('GAMA');
  $objBold-&gt;getFont()-&gt;setBold(true);
  
  // $objRichText-&gt;createText(' within the cell.');
  
  $objPHPExcel-&gt;getActiveSheet()-&gt;getCell('A1')-&gt;setValue($objRichText);
  }
  //Autoajustamos tamaño de las columnas
  $nCols = $centros; //set the number of columns
  
  foreach (range(0, $nCols) as $col) {
  $objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimensionByColumn($col)-&gt;setAutoSize(true); 
  }
  // Renombrar Hoja
  $objPHPExcel-&gt;getActiveSheet()-&gt;setTitle('Listado Stock Cad');
  
  // Establecer la hoja activa, para que cuando se abra el documento se muestre primero.
  $objPHPExcel-&gt;setActiveSheetIndex(0);
  
  // Se modifican los encabezados del HTTP para indicar que se envia un archivo de Excel.
  header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  header('Content-Disposition: attachment;filename="Listado de Stock Cad por gamas.xls"');
  header('Cache-Control: max-age=0');
  $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');//Excel5');
  $objWriter-&gt;save('php://output');
  exit;
  } 
  ?&gt;
  </code></pre>