php导出数据到excel xlsx,使用PHPExcel导出到xlsx

我正在使用PHPEXxcel导出使用MYSQL生成的HTML表,就像这样.

FROM `student_details` WHERE Branch IN ('$branch') and `Year`='$year'

and Tenthresult > '$tenth' and

Twelthresult > '$twelth' and (CGPA > '$cgpa' || CGPA = '$cgpa')";

$result = mysql_query($query);

confirm_query($result);

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);

$rowCount = 1;

$objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount,'Firstname');

$objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount,'Lastname');

$objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount,'Branch');

$objPHPExcel->getActiveSheet()->SetCellValue('D'.$rowCount,'Gender');

$objPHPExcel->getActiveSheet()->SetCellValue('E'.$rowCount,'Mobileno');

$objPHPExcel->getActiveSheet()->SetCellValue('F'.$rowCount,'Email');

while($row = mysql_fetch_array($result)){

$rowCount++;

$objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['0']);

$objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['1']);

$objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $row['2']);

$objPHPExcel->getActiveSheet()->SetCellValue('D'.$rowCount, $row['3']);

$objPHPExcel->getActiveSheet()->SetCellValue('E'.$rowCount, $row['4']);

$objPHPExcel->getActiveSheet()->SetCellValue('F'.$rowCount, $row['5']);

}

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);

$objWriter->save('some_excel_file.xlsx');

?>

它的工作原理,但它将xlsx文件保存在根文件夹中,而不向用户显示任何下载的迹象.

当我点击一个按钮时,这段代码会变坏.现在,我可以下载邮件附件,并在前端显示用户下载的位置以及下载邮件附件.

我试过用

header('Content-Type: application/vnd.ms-excel');

header('Content-Disposition: attachment;filename="01simple.xls"');

header('Cache-Control: max-age=0');

有了这个,我得到了我想要的,但打开时下载的xls文件显示

消息

‘您尝试打开的文件’文件名’的格式与指定的扩展名不同…..等等.您要立即打开吗?

在打开时它包含整个HTML页面或它只是空白…

有谁能够帮助我..?

解决方法:

电子表格101

有许多不同的电子表格文件格式,每种格式都有自己不同的文件扩展名,并且可以使用不同的mime类型发送到Web浏览器.这些在PHPExcel文档中描述,并且每个文档在PHPExcel中都有自己的不同Writer.你不匹配两种不同的格式

BIFF Format

Used by Microsoft Excel between versions 95 and 2003 File

extension: xls

PHPEXcel Writer: PHPExcel_Writer_Excel5

Mime Type: application/vnd.ms-excel

OfficeOpenXML Format

Used by Microsoft Excel since version 2007

File extension: xlsx

PHPEXcel Writer: PHPExcel_Writer_Excel2007

Mime Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

不要混淆和匹配:如果你这样做,那么Excel会(并且有理由地)抱怨.如果需要BIFF文件,请使用PHPExcel的BIFF Writer(Excel5),.xls的文件扩展名和上面列出的BIFF格式的mime类型.如果需要OfficeOpenXML文件,请使用PHPExcel的Excel2007 Writer,.xlsx的文件扩展名和上面列出的OfficeOpenXML的mime类型.

编辑

请注意,随PHPExcel发行版提供的示例包括01simple-download-xls.php和01simple-download-xlsx.php,以准确演示您想要的内容

标签:php,phpexcel

来源: https://codeday.me/bug/20191004/1853065.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值