PHPExcel保存并检索MySql

时间:2015-02-24 03:20:37

标签: php mysql blob phpexcel

我正在使用PHPExcel生成电子表格。

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

但是当我在MySQL中保存到MediumBlob并然后下载它时,MSExcel说它不行。

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

Gera是生成文件的函数:

$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;
}

1 个答案:

答案 0 :(得分:0)

问题在于我用include_once(anotherfile.php)包含的另一个php文件。

另一个文件.php后面有空行?>关闭标签。