国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

thinkphp5開(kāi)發(fā)網(wǎng)站如何引入phpexcel

發(fā)表日期:2023-02-02 11:36:14   作者來(lái)源:方維網(wǎng)絡(luò)   瀏覽:1246   標(biāo)簽:PHP網(wǎng)站制作    

什么是PHPExcel?

PHPExcel 是用來(lái)操作Office Excel 文檔的一個(gè)PHP類(lèi)庫(kù),它基于微軟的OpenXML標(biāo)準(zhǔn)和PHP語(yǔ)言??梢允褂盟鼇?lái)讀取、寫(xiě)入不同格式的電子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。

PHPExcel有什么用?

網(wǎng)站需要用到Excel導(dǎo)入數(shù)據(jù),或者數(shù)據(jù)導(dǎo)出Excel,這兩個(gè)功能都需要用到這個(gè)PHP插件PHPExcel.

PHPEXcel如何使用?

如何在thinkphp5程序里引入這個(gè)插件,有兩種辦法

一、composer引入

composer非常方便引入插件,只需要一句話(huà)就行

composer到指定目錄,執(zhí)行下面語(yǔ)句

composer require phpoffice/phpexcel

dos

正常情況是可以,但也有特殊情況,就是比如你的PHP版本是5.6 但是你的composer的PHP版本是7.3,那么需要改下設(shè)置

執(zhí)行  composer config platform.php 5.6

然后執(zhí)行composer require phpoffice/phpexcel:*

dos2

當(dāng)然你要限制版本,可能需要修改composer.json的required要求

下圖composer.json文件中限制php版本為5.6

composer json

然后執(zhí)行即可順利安裝,然后程序使用就非常方便。

use PHPExcel_IOFactory;
use PHPExcel;
use PHPExcel_Reader_Excel2007;  //做導(dǎo)入時(shí)需要有上 針對(duì)xlsx
use PHPExcel_Reader_Excel5; //做導(dǎo)入時(shí)需要用上 針對(duì)xls


$objPHPExcel = new \PHPExcel();
 
$objPHPExcel->setActiveSheetIndex(0)             //設(shè)置第一個(gè)內(nèi)置表(一個(gè)xls文件里可以有多個(gè)表)為活動(dòng)的
->mergeCells('A1:I1')
->setCellValue('A1','工作任務(wù)')
->setCellValue('A2','序號(hào)')
->setCellValue('B2','年度')
->setCellValue('C2','黨部支')
->setCellValue('D2','工作名稱(chēng)')
->setCellValue('E2','開(kāi)始時(shí)間')
->setCellValue('F2','結(jié)束時(shí)間')
->setCellValue('G2','進(jìn)度')
->setCellValue('H2','備注')
->setCellValue('I2','所屬公司');
 
foreach ($list as $k=>$v) { //$list就是數(shù)據(jù)庫(kù)里查出來(lái)的數(shù)據(jù)
$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 = '工作任務(wù)_'.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();//清除緩沖區(qū),避免亂碼
$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

這個(gè)需要手動(dòng)下載phpexce文件包,然后放入extend文件

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

require_once EXTEND_PATH.'PHPExcel/PHPExcel.php';

基本就是這樣,如需了解更多,可以查看PHPExcel詳細(xì)使用文檔

方維網(wǎng)絡(luò)專(zhuān)注于網(wǎng)站定制和小程序定制,歡迎咨詢(xún)我們的服務(wù)熱線400-800-9385

如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://pdcharm.com/news/6664.html
额尔古纳市| 仁化县| 宜兴市| 巢湖市| 黔西| 大新县| 山丹县| 文成县| 天长市| 上蔡县| 霞浦县| 扎兰屯市| 孟州市| 黎平县| 和林格尔县| 广德县| 崇明县| 鸡泽县| 忻城县| 崇仁县| 当涂县| 长子县| 防城港市| 平凉市| 鄄城县| 馆陶县| 寻乌县| 蓝田县| 长海县| 新安县| 安顺市| 江西省| 开平市| 呼图壁县| 东海县| 昭平县| 色达县| 时尚| 南召县| 祁门县| 扬中市|