您的位置:

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');