php使用安裝phpexcel(php的安裝和配置教程)

本文目錄一覽:

thinkPHP怎樣使用PHPExcel導出網站數據為excel

1

一、下載PHPExcel包

2

二、新建文件夾,命名為PHPExcel,將上面兩個文件PHPExcel,PHPExcel.php放到我們新建的PHPExcel文件夾下面;然後將此文件夾放在thinkPHP核心包裡面,路徑如下:D:\***\你的項目\ThinkPHP\Library\Vendor

3

三、前端界面代碼

div style=”margin-left: 100px;margin-top: -33px;”

form action=”{:U(output)}” enctype=”multipart/form-data” method=”post”

input type=”file” name=”photo” /

input type=”submit” value=”導出數據” style=”background-color: #337AB7;color: white;”

/form

/div

4

四、導出表格樣式代碼

//商家表格導出模板

public function exportExcel($expTitle, $expCellName, $expTableData) {

$xlsTitle = iconv(‘utf-8’, ‘gb2312’, $expTitle); //文件名稱

$fileName = ‘網站商家信息表’ . date(‘_YmdHis’); //or $xlsTitle 文件名稱可根據自己情況設定

$cellNum = count($expCellName);

$dataNum = count($expTableData);

vendor(“PHPExcel.PHPExcel”);

$objPHPExcel = new\PHPExcel();

$cellName = array(‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’,

‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’,

‘Y’, ‘Z’, ‘AA’, ‘AB’, ‘AC’, ‘AD’, ‘AE’, ‘AF’, ‘AG’, ‘AH’, ‘AI’, ‘AJ’,

‘AK’, ‘AL’, ‘AM’, ‘AN’, ‘AO’, ‘AP’, ‘AQ’, ‘AR’, ‘AS’, ‘AT’, ‘AU’, ‘AV’,

‘AW’, ‘AX’, ‘AY’, ‘AZ’);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘F’)-setWidth(22);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘D’)-setWidth(10);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘G’)-setWidth(10);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘H’)-setWidth(15);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘A’)-setWidth(10);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘B’)-setWidth(15);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘C’)-setWidth(20);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘E’)-setWidth(15);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘I’)-setWidth(20);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘J’)-setWidth(10);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘K’)-setWidth(20);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘L’)-setWidth(20);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘M’)-setWidth(25);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘L’)-setWidth(22);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘M’)-setWidth(12);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘N’)-setWidth(15);

$objPHPExcel-getActiveSheet(0)-mergeCells(‘A1:’ . $cellName[$cellNum – 1] . ‘1’);

//合併單元格

$objPHPExcel-getActiveSheet()-setCellValue(‘A1’,

‘網站商家信息表’)-getStyle()-getAlignment()-setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

for ($i = 0; $i $cellNum; $i++) {

$objPHPExcel-setActiveSheetIndex(0)-setCellValue($cellName[$i].’2′, $expCellName[$i][1]);

}

// Miscellaneous glyphs, UTF-8

for ($i = 0; $i $dataNum; $i++) {

for ($j = 0; $j $cellNum; $j++) {

$objPHPExcel-getActiveSheet(0)-setCellValue($cellName[$j] .

($i + 3), ” “.$expTableData[$i][$expCellName[$j][0]]);

}

}

ob_end_clean(); //清除緩衝區,避免亂碼

header(‘pragma:public’);

header(‘Content-type:application/vnd.ms-excel;charset=utf-8;name=”‘.$xlsTitle. ‘.xls”‘);

header(“Content-Disposition:attachment;filename=$fileName.xls”);

//attachment新窗口打印inline本窗口打印

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’);

$objWriter-save(‘php://output’);

exit;

}

5

五、導出所需數據代碼

function output($begin=0, $end=0) {//導出商家信息Excel

$xlsName = “User”;

$xlsCell = array(

array(‘userid’, ‘商家id’),

array(‘groupid’, ‘商家等級’),

array(‘store_name’, ‘店鋪名稱’),

array(‘contact_name’, ‘聯繫人’),

array(‘phone’, ‘手機’),

array(’email’, ‘郵箱’),

array(‘activity_count’, ‘活動商品’),

array(‘frozen_deposit’, ‘凍結中保證金’),

array(‘regdate’, ‘註冊時間’),

array(‘loginnum’, ‘登錄次數’),

array(‘lastdate’, ‘最近登錄’),

array(‘id_number’, ‘身份證號碼’),

array(‘name’, ‘姓名’),

array(‘qq’, ‘QQ’), );

$beginToday = mktime(0, 0, 0, date(‘m’), date(‘d’), date(‘Y’));

$endToday = mktime(0, 0, 0, date(‘m’), date(‘d’) + 1, date(‘Y’)) – 1;

if ($begin 0) { $beginToday = $begin;}

if ($end 0) {$endToday = $end;}

$xlsModel = M(‘member’);

$xlsData=$xlsModel-query(“SELECT

m.userid,m.groupid,c.store_name,c.contact_name,m.phone,m.email,c.frozen_deposit,FROM_UNIXTIME(m.regdate)

AS regdate,loginnum,FROM_UNIXTIME(m.lastdate) AS lastdate,m.qq FROM

xw_member AS m ,xw_member_merchant AS c WHERE m.modelid = 2 AND m.userid

= c.userid and (m.lastdate between $beginToday and $endToday) ORDER BY

m.userid DESC”);

$dataNum = count($xlsData);

for ($i = 0; $i $dataNum; $i++){

if ($xlsData[$i][groupid] == ‘1’) {

$xlsData[$i][groupid] = ‘普通商家’;

} else if ($xlsData[$i][groupid] == ‘2’) {

$xlsData[$i][groupid] = ‘金牌商家’;

} else if ($xlsData[$i][groupid] == ‘3’) {

$xlsData[$i][groupid] = ‘白金商家’;

} else if ($xlsData[$i][groupid] == ‘4’) {

$xlsData[$i][groupid] = ‘鑽石商家’;

}

$rs=M(‘member_attesta’)-where(“userid= ‘”.$xlsData[$i][‘userid’].”‘

AND type = ‘identity'”)-getField(‘infos’);

$identity = string2array($rs);

$xlsData[$i][‘id_number’] = $identity[‘id_number’];

$xlsData[$i][‘name’] = $identity[‘name’];

$xlsData[$i][‘activity_count’]=

M(‘product’)-where(array(‘company_id’=$xlsData[$i][‘userid’]))-count();

}

$this-exportExcel($xlsName, $xlsCell, $xlsData);

}

}

6

六、導出數據表格如下

PHP 用PHPExcel往數據庫導入大量數據

1、首先我們準備一個含有數據的Excel表格,表頭和數據表中的表字段相對應。

2、在ThinkPHP中引入PHPExcel類庫。

3、然後我們編寫導入的PHP代碼。

4、然後我們編寫導出的PHP代碼。

5、然後我們進行導出測試發現可以導出即可。

yii2 怎麼安裝和使用PHPExcel?

在yii2項目的根目錄下的composer.json中的require那裡加入

“phpoffice/phpexcel”: “dev-develop”

然後使用終端(windows使用cmd)進入yii2項目目錄

執行以下命令即可:

composer update

使用的話,就很簡單,use導入phpexcel類,然後就可以使用了(具體使用請看文檔)

thinkphp5.0 如何導入phpexcel插件,能詳細些點嗎

下載phpexcel,將整個文件夾放到vendor文件夾裡面,如下圖

在控制器中的使用方法

        vendor(“PHPExcel.PHPExcel”);

        $objPHPExcel = new \PHPExcel();

        $file_name = date(‘YmdHis’).’.xls’;

        header(“Content-Disposition:attachment; filename=”.$file_name);

        $objActSheet = $objPHPExcel-getActiveSheet()-setTitle(‘成績單’);

        $objActSheet-SetCellValue(‘A1’, ‘ID’);

        $objActSheet-SetCellValue(‘B1’, ‘名稱’);

        $objActSheet-SetCellValue(‘C1’, ‘分數’);

        $list = “”;//數據列表

        if($list){

            foreach ($list as $k = $v){

                $i = $k + 2;

                $objActSheet-SetCellValue(‘A’.$i,”. $v[‘id’]);

                $objActSheet-SetCellValue(‘B’.$i,”. $v[‘name’]);

                $objActSheet-SetCellValue(‘C’.$i,”. $v[‘score’]);

            }

            $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);

            $objWriter-save(‘php://output’);//輸出到瀏覽器

            exit;

        }

thinkphp3.1中的phpexcel導入怎麼用

首先,去PHPExcel官方網站下載PHPExcel,官方地址為;.我下的是1.8.0版本的.解壓後發現還是蠻大的,有十幾M,不知道其他版本是不是會小點.

這裡寫圖片描述

把解壓好的PHPExcel文件放在ThinkPHP的Vender文件夾下(專門放第三方類庫的),如下圖

這裡寫圖片描述

其次,創建Excel轉換數組類,並把它放在ThinkPHP\Extend\Library\ORG\Util目錄下

class ExcelToArrary {

public function __construct() {

Vendor(“PHPExcel.Classes.PHPExcel”);//引入phpexcel類(留意路徑,不了解路徑可以查看下手冊)

Vendor(“PHPExcel.Classes.PHPExcel.IOFactory”); //引入phpexcel類(留意路徑)

}

public function read($filename,$encode,$file_type){

if(strtolower ( $file_type )==’xls’)//判斷excel表類型為2003還是2007

{

Vendor(“PHPExcel.Classes.PHPExcel.Reader.Excel5”); //引入phpexcel類(留意路徑)

$objReader = PHPExcel_IOFactory::createReader(‘Excel5’);

}elseif(strtolower ( $file_type )==’xlsx’)

{

Vendor(“PHPExcel.Classes.PHPExcel.Reader.Excel2007”);//引入phpexcel類(留意路徑)

$objReader = PHPExcel_IOFactory::createReader(‘Excel2007’);

}

$objReader-setReadDataOnly(true);

$objPHPExcel = $objReader-load($filename);

$objWorksheet = $objPHPExcel-getActiveSheet();

$highestRow = $objWorksheet-getHighestRow();

$highestColumn = $objWorksheet-getHighestColumn();

$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

$excelData = array();

for ($row = 1; $row = $highestRow; $row++) {

for ($col = 0; $col $highestColumnIndex; $col++) {

$excelData[$row][] =(string)$objWorksheet-getCellByColumnAndRow($col, $row)-getValue();

}

}

return $excelData;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

如右圖這裡寫圖片描述

現在來說Excel,表格的結構樣式和MySQL樣式要類似,表格樣式如下(本人對Excel使用只是一般,所以如果有Excel大神做的報表,不知後果如何).

這裡寫圖片描述

前端頁面相關代碼:

div

form method=”post” action=”{:U(‘Index/upload’)}” enctype=”multipart/form-data”

font導入Excel數據:/font

label for=”file_stu”上傳/label

input name=”file_stu” type=”file” id=”file_stu” /

h3溫馨提示:/h3

p請確認您的Excel表格類型是xls的,以免出現兼容問題./p

inputtypeinputtype=”submit” class=”sure” value=”導入” /

/form

/div

1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

6

7

8

9

10

最後,控制器部分使用了Thinkphp自帶的上傳類,使用unlink()函數是為了刪除上傳的excel表格,以免文件夾存入過多文件,調試代碼時可先注釋掉.或者不寫也行,把刪除文件的工作交給你們的運維.代碼中foreach循環部分$v[]里的0, 1,2可以改動以下看看與Excel表格里的內容是什麼關係.可以把數組打印出來看一看,你就很清楚了

相關代碼:

public function upload(){

import(‘ORG.Util.ExcelToArrary’);//導入excelToArray類

if (! empty ( $_FILES [‘file_stu’] [‘name’] )){

import(‘ORG.Net.UploadFile’);

$upload = new UploadFile();// 實例化上傳類

$upload-maxSize = 3145728 ;// 設置附件上傳大小

$upload-allowExts = array(‘xls’, ‘xlsx’);// 設置附件上傳類型

$upload-savePath = ‘./Uploads/’;// 設置附件上傳目錄

if(!$upload-upload()) {// 上傳錯誤提示錯誤信息

$this-error($upload-getErrorMsg());

}else{// 上傳成功 獲取上傳文件信息

$info = $upload-getUploadFileInfo();

}

}else{

$this-error(‘(⊙o⊙)~沒傳數據就導入?!你在逗我?!’);

}

//dump($info);die;

$ExcelToArrary=new ExcelToArrary();//實例化

$res=$ExcelToArrary-read($info[0][‘savepath’].$info[0][‘savename’],”UTF-8″,$info[0][‘extension’]);//傳參,判斷office2007還是office2003

$res = array_slice($res,1); //為了去掉Excel里的表頭,也就是$res數組裡的$res[0];

//dump($res);

foreach ( $res as $k = $v ){ //循環excel表

$data[$k][‘mobile’] = $v [0];//創建二維數組

$data[$k][‘name’] = $v [1];

$data[$k][‘duty’] = $v [2];

}

//dump($data);die;

$result=M(‘appkey’)-addAll($data);

if(!$result){

$this-error(‘導入數據庫失敗’);

exit();

}else{

$filename = ‘./Uploads/’.$info[0][‘savename’];//上傳文件絕對路徑,unlink()刪除文件函數

if (unlink($filename)) {

$this-success ( ‘導入成功’ );

}else{

$this-error(‘緩存刪除失敗’);

}

}

}

thinkphp中phpexcel怎麼使用

首先到phpexcel官網上下載最新的phpexcel類,下周解壓縮一個classes文件夾,裡面包含了PHPExcel.php和PHPExcel的文件夾,這個類文件和文件夾是我們需要的,把classes解壓到你項目的一個目錄中,重名名為phpexcel,開始嘍,(代碼都摘自自帶實例)

?php

require_once ‘./phpexcel/PHPExcel.php’;

// 首先創建一個新的對象 PHPExcel object

$objPHPExcel = new PHPExcel();

// 設置文件的一些屬性,在xls文件——屬性——詳細信息里可以看到這些值,xml表格里是沒有這些值的

$objPHPExcel

-getProperties() //獲得文件屬性對象,給下文提供設置資源

-setCreator( “Maarten Balliauw”) //設置文件的創建者

-setLastModifiedBy( “Maarten Balliauw”) //設置最後修改者

-setTitle( “Office 2007 XLSX Test Document” ) //設置標題

-setSubject( “Office 2007 XLSX Test Document” ) //設置主題

-setDescription( “Test document for Office 2007 XLSX, generated using PHP classes.”) //設置備註

-setKeywords( “office 2007 openxml php”) //設置標記

-setCategory( “Test result file”); //設置類別

// 位置aaa *為下文代碼位置提供錨

// 給表格添加數據

$objPHPExcel-setActiveSheetIndex(0) //設置第一個內置表(一個xls文件里可以有多個表)為活動的

-setCellValue( ‘A1’, ‘Hello’ ) //給表的單元格設置數據

-setCellValue( ‘B2’, ‘world!’ ) //數據格式可以為字符串

-setCellValue( ‘C1’, 12) //數字型

-setCellValue( ‘D2’, 12) //

-setCellValue( ‘D3’, true ) //布爾型

-setCellValue( ‘D4’, ‘=SUM(C1:D2)’ );//公式

//得到當前活動的表,注意下文教程中會經常用到$objActSheet

$objActSheet = $objPHPExcel-getActiveSheet();

// 位置bbb *為下文代碼位置提供錨

// 給當前活動的表設置名稱

$objActSheet-setTitle(‘Simple2222’);

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/304803.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-01 11:06
下一篇 2025-01-01 11:06

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows服務器上的日誌,並將其發送到遠程服務器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29

發表回復

登錄後才能評論