欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHPExcel-1.8导出excel文件并下载

程序员文章站 2022-06-14 08:11:36
...

PHPExcel-1.8导出excel文件并下载

把数据库的内容按照一定格式一键导出excel文件,让用户下载。
做一个超链接到新的页面。

<a href="leadout.php">导出商品</a>

新页面先读取数据库内容
用PHPExcel-1.8将数据写入新建的excel文件中并保存。

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save( 'product.xlsx');

以下代码为设置本页的格式。在用户点击上面链接的时候就可以直接下载。是否出现选择保存路径的对话框,取决于浏览器设置。

$fileName = 'product.xlsx';
header( 'Content-Description: File Transfer' );  
header( 'Content-Type: application/octet-stream' );  
header( 'Content-Disposition: attachment;filename = ' . $fileName);  
header( 'Content-Transfer-Encoding: binary' );  
header( 'Expires: 0' );  
header( 'Cache-Control: must-revalidate, post-check = 0, pre-check = 0' );  
header( 'Pragma: public' );  
header( 'Content-Length: ' . filesize( $fileName ) );  
ob_clean();  
flush(); 
readfile( $fileName ); 

导出图片代码
如果名称包含中文,需要另外处理,否则导出图片会错误。

if (is_null($value['图片'])) continue;
$img = $value['图片'];
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setPath($img);
$objDrawing->setHeight(80);
$objDrawing->setWidth(80);
$objDrawing->setCoordinates('A' . $key);//单元格
$objDrawing->setOffsetX(2);//偏移量
$objDrawing->setOffsetY(2);
$objDrawing->setWorksheet($objSheet);
相关标签: PHPExcel