互联网+时代,说建站,谈运营与网络营销
武汉小程序制作
什么是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详细使用文件
自由互联专注于网站定制和小程序定制