J9国际集团|Home

135-2716-3909
网站建设资讯详细

thinkphp5开发网站◆如何引入phpexcel

发表日期:2026-07-28 11:36:14   作者来源:J9国际集团   浏览:2290   标签:PHP网站制作    

什么是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到指定目❖录,执行下面□□语句

composer require phpoffice/phpexcel

dos

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

执行  composer config platform.php 5.6

然后执行composer require phpoffice/phpexcel:*

dos2

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

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

composer json

然后执行□□即可顺利▼安装,然后程序□□□□使用就非□□□□常方便。

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:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/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:application/vnd.ms-excel;base64," . base64_encode($xlsdata)
);
return json($result,200);

第二种方□□□□法:extend引入phpexcel

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

跟composer方式使用★一样,就是需要·多引入文□□件

require_once EXTEND_PATH.'PHPExcel/PHPExcel.php';

基本就是□□□这样,如需了解★更多,可以查看PHPExcel详细使用●文档

J9国际集团专注于网站定制和小程序定制,欢迎咨询我们的服务热线135-2716-3909

如没特殊注明,文章均为J9国际集团原创,转载请注明来自https://www.nzweibaum.com/news/6664.html