我正在尝试将数据从Mysql
和php
导出到Excel文件。
但是出了点问题。
这是我的代码:
<?php
header('Content-Type: text/html; charset=UTF-8');
session_start();
if(!isset($_SESSION['usuario']))
{
header('Location: login.php');
}
require('../conexion.php');
$conexion = conexion();
if (mysqli_connect_errno())
{
printf("La conexión con el servidor de base de datos falló: %s\n", mysqli_connect_error());
exit();
}
$consulta = $_SESSION['query'];
echo $consulta; //consulta = SELECT * FROM cotion where status= 'Vea'
$resultado = mysql_query ($consulta, $conexion) or die (mysql_error ());
$registros = mysql_num_rows ($resultado);
if ($registros > 0) {
require_once 'excel/Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
//Informacion del excel
$objPHPExcel->
getProperties()
->setCreator("Creator")
->setLastModifiedBy("setLastModifiedBy")
->setTitle("tittle")
->setSubject("Subject")
->setDescription("Description")
->setKeywords("Keywords")
->setCategory("Category");
$i = 1;
while ($registro = mysql_fetch_object ($resultado)) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i, $registro->pais);
$i++;
}
}
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="ex.xlsx"');
header('Cache-Control: max-age=0');
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
$objWriter->save('php://output');
exit;
mysql_close ();
?>
但我只能看到它:
但我没有在excel文件中看到它,我在网络浏览器中看到它。
我查看了here来执行我的导出,并从here下载PHPExcel
课程
对Ido会有什么看法?
谢谢
答案 0 :(得分:1)
请注意Redirecting output to a client’s web browser上PHPExcel开发人员文档部分中的caution
:
<强>注意:强>
- 确保不包含任何echo语句或输出除Excel文件之外的任何其他内容。在开始
<?php
标记之前应该没有空格,在结束?>
标记之后最多只有一个换行符(为了避免问题,也可以省略)。- 确保保存脚本时没有BOM(字节顺序标记)。 (因为这算作回声输出)
- 同样适用于所有包含的文件
另请注意,如果您使用的是某种框架,则可能会发送不同的标头或生成其他输出。大多数框架都提供了一些允许您覆盖该行为的机制。