首页 > Office专区 > Excel教程 >

网页导出Excel数据并下载

来源:互联网 2023-02-20 23:27:56 510

在做网站时,有时候会有这样的需求。需要把从数据库中查询到的数据内容通过Excel导出到本地。或者更进一步需要给客户提供下载的功能。rNQ办公区 - 实用经验教程分享!

今天我们就在讲一讲怎么通过PHP来从网页上导出数据到Excel并下载。rNQ办公区 - 实用经验教程分享!

工具/原料

  • PHPExcel库

方法/步骤

  • 1

    PHPExcel下载及部署:rNQ办公区 - 实用经验教程分享!

    大家须要先下载PHPExcel的代码,并拷贝到自己的网站环境里,如下图。具体在哪里下载,搜索一下百度就好。rNQ办公区 - 实用经验教程分享!

    网页导出Excel数据并下载rNQ办公区 - 实用经验教程分享!

  • 2

    注意点:rNQ办公区 - 实用经验教程分享!

    这段写给用过PHPExcel的同学。有很多其他同类文档提到了以下直接通过浏览器下载Excel的方法,但代码写完了却发现实现不了相应的功能:rNQ办公区 - 实用经验教程分享!

    $objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');$objWriter->save('php://output'); //浏览器直接下载rNQ办公区 - 实用经验教程分享!

    原因在于:因为安全问题,很多浏览器不支持该行为。所以不建议使用。rNQ办公区 - 实用经验教程分享!

    网页导出Excel数据并下载rNQ办公区 - 实用经验教程分享!

  • 3

    导入PHPExcel资源:rNQ办公区 - 实用经验教程分享!

    要使用PHPExcel的功能,必须先把对应的文件导入,相信写过PHP代码的同学都是应该知道的。代码如下:rNQ办公区 - 实用经验教程分享!

    require_once './PHPExcel_1.8.0/Classes/PHPExcel.php';rNQ办公区 - 实用经验教程分享!

    require_once './PHPExcel_1.8.0/Classes/PHPExcel/IOFactory.php';rNQ办公区 - 实用经验教程分享!

    include './PHPExcel_1.8.0/Classes/PHPExcel/Writer/Excel5.php' ;rNQ办公区 - 实用经验教程分享!

    include './PHPExcel_1.8.0/Classes/PHPExcel/Writer/Excel2007.php' ;rNQ办公区 - 实用经验教程分享!

    网页导出Excel数据并下载rNQ办公区 - 实用经验教程分享!

  • 4

    生成Excel:rNQ办公区 - 实用经验教程分享!

    $excel = new PHPExcel(); // 构造一个Excel对象rNQ办公区 - 实用经验教程分享!

    ...rNQ办公区 - 实用经验教程分享!

    往Excel中写入数据,具体写入方法在下面详细说明rNQ办公区 - 实用经验教程分享!

    ...rNQ办公区 - 实用经验教程分享!

    $objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');rNQ办公区 - 实用经验教程分享!

    $objWriter->save('excel.xls'); // 生成名为【excel.xls】的文件在服务器端。rNQ办公区 - 实用经验教程分享!

    注意:PHP这里生成的是在服务器,如果你要下载的话,还需要为该文件提供一个下载的链接。rNQ办公区 - 实用经验教程分享!

    网页导出Excel数据并下载rNQ办公区 - 实用经验教程分享!

  • 5

    下载Excel:rNQ办公区 - 实用经验教程分享!

    为上一步骤中生成的Excel提供一个下载链接:rNQ办公区 - 实用经验教程分享!

    a href='./excel.xls' download='Excel数据下载'>Excel数据下载/a>rNQ办公区 - 实用经验教程分享!

    download属性的值是文档下载后的名称。rNQ办公区 - 实用经验教程分享!

    这个链接最好是在生成Excel的代码执行完成后才在界面上显示。rNQ办公区 - 实用经验教程分享!

    网页导出Excel数据并下载rNQ办公区 - 实用经验教程分享!

  • 6

    Excel中写入数据:rNQ办公区 - 实用经验教程分享!

    以下代码说明了怎么把数据写入到Excel文档中:rNQ办公区 - 实用经验教程分享!

    rNQ办公区 - 实用经验教程分享!

    // 定义所使用到的单元格列号,如:A1,B2等。rNQ办公区 - 实用经验教程分享!

    $letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N');rNQ办公区 - 实用经验教程分享!

    rNQ办公区 - 实用经验教程分享!

    // $excel是前面用new PHPExcel();构造的一个Excel对象rNQ办公区 - 实用经验教程分享!

    //$letter[0] = 'A',$letter[0]1代码了A1单元格rNQ办公区 - 实用经验教程分享!

    // 下面代码的功能就是在A1单元格里写入"PHP生成Excel"rNQ办公区 - 实用经验教程分享!

    $excel->getActiveSheet()->setCellValue("$letter[0]1","PHP生成Excel");rNQ办公区 - 实用经验教程分享!

    rNQ办公区 - 实用经验教程分享!

    // 以下代码是在A2, B2, C2单元格分别写入'内容1','内容2','内容3'rNQ办公区 - 实用经验教程分享!

    $content =array('内容1','内容2','内容3');rNQ办公区 - 实用经验教程分享!

    for($i = 0; $i count($content); $i ) { $excel->getActiveSheet()->setCellValue("$letter[$i]2","$tableheader[$i]");}rNQ办公区 - 实用经验教程分享!

    rNQ办公区 - 实用经验教程分享!

    如何要写入多行多列的数据,把循环嵌套一下就行了。rNQ办公区 - 实用经验教程分享!

    网页导出Excel数据并下载rNQ办公区 - 实用经验教程分享!

  • 7

    总结:rNQ办公区 - 实用经验教程分享!

    相信到这里,你应该可以实现一个用Excel导出数据并下载的功能了。rNQ办公区 - 实用经验教程分享!

    除此之外,PHPExcel提供了许多对Excel操作的方法,在这里不可能一一说明。如果有兴趣的同学,可以去参考一下官方手册。rNQ办公区 - 实用经验教程分享!

    网页导出Excel数据并下载rNQ办公区 - 实用经验教程分享!

  • 7本页面未经授权抓取自百度经验
  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!rNQ办公区 - 实用经验教程分享!


    标签: excel下载数据

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码