phpexel tp5 导出_ThinkPHP5thinkPHP5.0如何实现excel导入导出?

本公众号只做学习分享,本公众号会不定期的给大家分享视频教学教程,项目源码,文章最新动态等,感谢大家的支持!

码农程序网站:http://www.startphp.cn

图书推荐

广告

PHP与MySQL高性能应用开发

作者:杜江

京东

作者:随笔

来源:博客

原文:http://www.php.cn/php-weizijiaocheng-412481.html

文章正文

引第三方的phpexcel类库放到 ThinkPHP\Library\Vendor\demo下,自己建的文件夹demo

再将Excel.class放到ThinkPHP\Library\Org\class下,自己建的文件夹class

控制器:

display();

}

// 导入

public function import(){

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

$tmp_file = $_FILES['file_stu']['tmp_name']; //临时文件名

$file_types = explode('.',$_FILES['file_stu']['name']); // 拆分文件名

$file_type = $file_types [count ( $file_types ) - 1]; // 文件类型

/*判断是否为excel文件*/

if($file_type == 'xls' || $file_type == 'xlsx'|| $file_type == 'csv'){ // 符合类型

/*上传业务*/

$upload = new \Think\Upload();

$upload->maxSize = 3145728 ;

$upload->exts = array('xls', 'csv', 'xlsx');

$upload->rootPath = './Public';

$upload->savePath = '/Excel/';

$upload->saveName = date('YmdHis');

$info = $upload->upload();

if(!$info) { // 上传错误提示错误信息

$this->error($upload->getError());

}else{ // 上传成功

// 读取文件

$filename='./Public'.$info['file_stu']['savepath'].$info['file_stu']['savename'];

import("Org.Yufan.ExcelReader");

vendor('PHPExcel.PHPExcel');

$reader = \PHPExcel_IOFactory::createReader('Excel2007'); //设置以Excel5格式(Excel97-2003工作簿)

$PHPExcel = $reader->load($filename); // 载入excel文件

$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表

$highestRow = $sheet->getHighestRow(); // 取得总行数

var_dump($highestRow);

$highestColumm = $sheet->getHighestColumn(); // 取得总列数

/** 循环读取每个单元格的数据 */

$data = array();

for ($row = 2; $row <= $highestRow; $row++){//行数是以第1行开始

if($column = 'A'){

$data['name'] = $sheet->getCell($column.$row)->getValue();

}

if($column = 'B'){

$data['account'] = $sheet->getCell($column.$row)->getValue();

}

if($column = 'C'){

$data['password'] = $sheet->getCell($column.$row)->getValue();

}

M('data')->add($data);

}

$this->success('导入数据库成功',U('Excel/show'));

}

} else{ // 不符合类型业务

$this->error('不是excel文件,请重新上传...');

}

}else{

$this->error('(⊙o⊙)~没传数据就导入');

}

}

//导出

public function export(){

import("ORG.Yufan.Excel");

$list = M('data')->select();

if($list == null){

$this->error('数据库信息为空...',__APP__.'/Admin/Excel/show');

}else{

$row=array();

$row[0]=array('平台名称','帐号','密码');

$i=1;

foreach($list as $v){

$row[$i]['name'] = $v['name'];

$row[$i]['account'] = $v['account'];

$row[$i]['password'] = $v['password'];

$i++;

}

$xls = new \Excel_XML('UTF-8', false, 'datalist');

$xls->addArray($row);

$xls->generateXML(date('YmdHis'));

}

}

public function show(){

$m = M('data');

$data = $m->select();

$this->assign('data',$data);

$this->display();

}

}

视图:(excelList.html)

Excel导入导出

TP DEMO

Excel导入导出练习导入

视图:(show.html)

Excel导入导出

TP DEMO

Excel导入导出练习

导入

表格展示

TP DEMO

Excel导入导出练习

平台名称

帐号

密码

{$vo.name}

{$vo.account}

{$vo.password}

导出数据库数据

以上是文章的全部内容,有需要交流与学习的,可以加小编为好友,一起学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值