武汉小程序制作:thinkphp5开发网站如何引入phpexcel

发布时间: 2023-07-20 来源:互联网

  武汉小程序制作

  什么是phpexcel?

武汉小程序制作:thinkphp5开发网站如何引入phpexcel

  phpexcel是用来实际操作office excel 文件的一个php类库,它基于微软的openxml标准和php语言.可以使用它来读取、写进不同格式的电子表格,如 excel (biff) .xls, excel 2007 (officeopenxml) .xlsx, csv, libre/openoffice calc .ods, gnumeric, pdf, html等等.

  phpexcel有什么用?

  武汉小程序制作网站需要用到excel导进信息,或者信息导出excel,这两个功能都需要用到这个php插件phpexcel.

  phpexcel如何使用?

  如何在thinkphp5程序里引进这个插件,有两种办法

  一、composer引进

  composer非常方便引进插件,只需要一句话就行

  composer到指定目录,执行以下语句

  composerrequirephpoffice/phpexcel

  正常情况是可以,但也有特殊情况,就是比如你的php版本是5.6 但是你的composer的php版本是7.3,那么需要改下设定

  执行 composer config platform.php 5.6

  然后执行composerrequirephpoffice/phpexcel:*

  当然你要限制版本,可能需要修改composer.json的required要求

  下图composer.json文件中限制php版本为5.6

  然后执行就可以顺利安装,然后程序使用就非常方便.

  use phpexcel_iofactory;

  use phpexcel;

  use phpexcel_reader_excel2007; //做导进时需要有上 针对xlsx

  use phpexcel_reader_excel5; //做导进时需要用上 针对xls

  $objphpexcel = new phpexcel();

  $objphpexcel->setactivesheetindex(0) //设定第一个内置表(一个xls文件里可以有许多表)为活动的

  ->mergecells('a1:i1')

  ->setcellvalue('a1','工作任务')

  ->setcellvalue('a2','序号')

  ->setcellvalue('b2','年度')

  ->setcellvalue('c2','党部支')

  ->setcellvalue('d2','工作名称')

  ->setcellvalue('e2','开始时间')

  ->setcellvalue('f2','结束时间')

  ->setcellvalue('g2','进度')

  ->setcellvalue('h2','备注')

  ->setcellvalue('i2','所属公司');

  foreach ($list as $k=>$v) { //$list就是信息库里查出来的信息

  $n = $k + 3;

  $objphpexcel->setactivesheetindex(0)->setcellvalue('a' . $n , $k + 1);

  $objphpexcel->setactivesheetindex(0)->setcellvalue('b' . $n , $v['year']);

  $objphpexcel->setactivesheetindex(0)->setcellvalue('c' . $n , $v['dangzhi']);

  $objphpexcel->setactivesheetindex(0)->setcellvalue('d' . $n , $v['work_name']);

  $objphpexcel->setactivesheetindex(0)->setcellvalue('e' . $n , $v['start_time']);

  $objphpexcel->setactivesheetindex(0)->setcellvalue('f' . $n , $v['end_time']);

  $objphpexcel->setactivesheetindex(0)->setcellvalue('g' . $n , $v['pro']);

  $objphpexcel->setactivesheetindex(0)->setcellvalue('h' . $n , $v['beizhu']);

  $objphpexcel->setactivesheetindex(0)->setcellvalue('i' . $n , $v['companyid']);

  }

  $objphpexcel->setactivesheetindex(0);

  $xlstitle = '工作任务_'.date('ymdhis'. '_' .mt_rand(1000,9999)); //定义文件的名字

  header("pragma: public");

  header("expires: 0");

  header("cache-control:must-revalidate, post-check=0, pre-check=0");

  header("content-type:手机应用lication/force-download");

  header("content-type:手机应用lication/vnd.ms-execl");

  header("content-type:手机应用lication/octet-stream");

  header("content-type:手机应用lication/download");;

  header('content-disposition:attachment;filename='.$xlstitle.'xlsx');

  header("content-transfer-encoding:binary");

  $objwriter = phpexcel_iofactory::createwriter($objphpexcel,'excel2007');

  $objwriter->save($xlstitle . '.xlsx');

  $xlsdata = ob_get_contents();

  ob_end_clean();//清除缓冲区,避免乱码

  $result = array(

  'filename' => 'http://127.0.0.1:82/'. $xlstitle .'.xlsx',

  'file' => "data:手机应用lication/vnd.ms-excel;base64," . base64_encode($xlsdata)

  );

  return json($result,200);

  第2种方法:extend引进phpexcel

  这个需要手动下载phpexce文件包,然后放进extend文件

  跟composer方式使用一样,就是需要多引进文件

  require_once extend_path.'phpexcel/phpexcel.php';

  基本就是这样,如需了解更多,可以查看phpexcel详细使用文件

  自由互联专注于网站定制和小程序定制

  • 上一篇:讨论武汉小程序制作公司的前沿趋势
  • 下一篇:没有了
  • 首页
    模板
    报价
    联系