2015-02-24 105 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在?>結束標記後有空行。