2015-02-24 64 views
0

我正在使用PHPExcel来生成电子表格。PHPExcel保存并检索MySql

如果我生成并同时下载,一切都很好。

但是当我保存到我的MySQL中的一个MediumBlob和然后下载它,MSExcel说它不好。

我在两种情况下都使用相同的标头。

格拉是生成该文件的功能:

$agora=date("Y-m-d H:i:s"); 

$relatorio_rh_xls=$dbHandle->real_escape_string(RelatorioBaseRH::Gera($ciclo,$dbHandle)); 

$qry="insert into tb_relatorio_rh (id_avaliacao_ciclo,relatorio_base_RH_xls,inicio_vigencia,fim_vigencia) values ($ciclo,'".$relatorio_rh_xls."','".$agora."',null)"; 

$result4=$dbHandle->query($qry); 

然后检索它:

$query = "SELECT $nomeRelatorio, OCTET_LENGTH($nomeRelatorio) as tamanho " . 
       "FROM tb_relatorio_rh WHERE id_avaliacao_ciclo = '$id_avaliacao_ciclo' and fim_vigencia is null order by inicio_vigencia desc"; 
$resultadoConsulta= $dbHandle->query($query); 

$qtdeLinhas=$resultadoConsulta->num_rows; 
     if ($qtdeLinhas>0) { 
      $fetBuscaRelatorio = $resultadoConsulta->fetch_assoc(); 
      $relatorio=$fetBuscaRelatorio[$nomeRelatorio]; 
      $size=$fetBuscaRelatorio['tamanho']; 


      $type= substr($nomeRelatorio, -3, 3); 

      if ($type == "xls"){ $type="xlsx";} 

      $nomeAvaliado= str_replace(' ','_',$nomeAvaliado); 

      $nomeDownload=substr($nomeRelatorio, 0, strlen($nomeRelatorio)-4) .'_' . $nomeAvaliado .'.'. $type; 

      header("Content-Length: $size"); 
      header("Content-Type: $type"); 
      header("Content-Disposition: attachment; filename=$nomeDownload"); 

      print $relatorio; 
} 
+0

Excel的错误代码是101590 – fegoulart 2015-02-24 03:27:22

+0

你是什么意思的“不好”?具体的错误是什么? – 2015-02-24 03:31:03

+1

保存文件,用文本编辑器打开,查看html或php错误的顶部和底部 – 2015-02-24 03:32:18

回答

0

问题是另一个PHP文件,我包括include_once(anotherfile.php) 。

anotherfile.php在?>结束标记后有空行。