phpexcel导入导出
先下载类文件,将类文件放到lib下,然后到入口文件定义一个新的的路径,以便引入文件。

<?php
namespace app\index\controller;
use think\Controller;
require EXTEND_PATH."/PHPExcel/Classes/PHPExcel.php";
use think\Db;
use PHPExcel;
use PHPExcel_Writer_Excel2007;
use PHPExcel_Reader_Excel2007;
use PHPExcel_Cell;
class Excel extends Controller
{
public function index()
{
$list=Db::table("excel")->field('id,name,password')->select();
$this->assign("list",$list);
return view("index");
}
//导出
public function export(){
$list=Db::table("excel")->field('id,name,password')->select();
//创建一个phpexcel对象
$objPHPExcel = new PHPExcel();
//构造一个对象
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
//设置一个sheet
$objPHPExcel->setActiveSheetIndex();
//设置sheet名称
$objPHPExcel->getActiveSheet()->setTitle("users");
//设置title
$zm = array('A','B','C');
$title=array('编号','名称','密码');
$num=;
foreach($title as $key=>$val){
$objPHPExcel->getActiveSheet()->setCellValue($zm[$key].$num, $val);
}
//设置数据
foreach($list as $k=>$v){
$num++;
$k=;
foreach($v as $kk=>$vv){
$objPHPExcel->getActiveSheet()->setCellValue($zm[$k].$num,$vv);
$k+=;
}
}
//输出到浏览器
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="export.xls"');
//保存文件
$objWriter->save('php://output');
}
//导入
public function import(){
header('content-type:text/html;charset=utf-8');
$file=$_FILES['user']['tmp_name'];
//获取读取excel对象
$PHPReader = new PHPExcel_Reader_Excel2007();
$boole7=$PHPReader->canRead($file);
if(!$boole7){
$boole5=$PHPReader = new PHPExcel_Reader_Excel5($file);
if(!$boole5){
$this->error('文件不可读');
}
}
//加载文件
$PHPExcel = $PHPReader->load($file);
//获取第一个工作表
$currentSheet = $PHPExcel->getSheet();
//获取当前工作表有多少列
$allColumn = PHPExcel_Cell::columnIndexFromString($currentSheet->getHighestColumn());
//获取当前工作表有多少行
$allRow = $currentSheet->getHighestRow();
$title=array('id','name','password');
$zm=array('A','B','C','D');
$insertData=array();
for($i=;$i<=$allRow;$i++){
for($j=;$j<=$allColumn;$j++){
$value = $currentSheet->getCell($zm[$j-].$i)->getValue();
$insertData[$i][$title[$j-]]=htmlspecialchars($value);
}
}
$insertData=array_values($insertData);
$res=Db::name('user')->insertAll($insertData);
if($res<=){
$this->error('数据导入失败');
}else{
$this->success('数据导入成功','show');
}
}
//展示导入数据
public function show(){
$list=Db::table("user")->select();
return view("show",['list'=>$list]);
}
}
phpexcel导入导出的更多相关文章
- 使用PHPExcel导入导出excel格式文件
使用PHPExcel导入导出excel格式文件 作者:zccst 因为导出使用较多,以下是导出实现过程. 第一步,将PHPExcel的源码拷贝到项目的lib下 文件包含:PHPExcel.ph ...
- 黄聪:超实用的PHPExcel[导入][导出]实现方法总结
首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel,下载后只需要Classes目录下的文件即可. 1.PHPExcel导出方法实现过程 /* ...
- PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/classname
php利用PHPExcel类导出导入Excel用法 来源: 时间:2013-09-05 19:26:56 阅读数: 分享到: 16 [导读] PHPExcel类是php一个excel表格处理插 ...
- thinkphp5 使用PHPExcel 导入导出
首先下载PHPExcel类.网上很多,自行下载. 然后把文件放到vendor文件里面. 一般引用vendor里面的类或者插件用vendor(); 里面加载的就是vendor文件,然后想要加载哪个文件, ...
- phpexcel 导入导出
导出excel /** * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 * 打开对应行的注释. * 如果使用 Excel5 ,输出的内容应该是GBK编码. */ //r ...
- 【PHP】使用phpoffice/phpexcel导入导出数据
本例以thinkphp5.1为例 包地址: https://packagist.org/packages/phpoffice/phpexcel 使用: composer require phpoffi ...
- phpexcel使用说明5----ThinkPHP+PHPExcel[导入][导出]实现方法
转自:http://www.thinkphp.cn/code/403.html实现步骤: 注意:phpexcel必须是1.78版本的,不能用1.8以上的 一:去官网http://phpexcel.co ...
- phpcms 用phpexcel导入导出excel
html <form method="post" action="?m=content&c=content&a=public_add_excel&q ...
- phpexcel 导入导出excel表格
phpexcel中文实用手册 转载:http://www.cnblogs.com/freespider/p/3284828.html 下面是总结的几个使用方法 include 'PHPExcel.ph ...
随机推荐
- JS类小功能
工作中,总是要处理一些前端的小功能.都是网上搜的JS脚本 <script> //防止页面后退 history.pushState(null, null, document.URL); wi ...
- Git 与SVN
SVN 是集中式版本控制系统: 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给 ...
- GPU知识了解
前言 今天在使用阿里云的时候,无意间看到了有GPU服务器,于是对它做了一个大概的了解. 概念 GPU是Graphics Processing Unit的缩写,翻译成中文就是图形处理器.是一种专门在个人 ...
- postman之如何获取cookie
1.最近在学习postman的使用方法,为了保证后续模块操作,必须在登录时获取的session值,并将其设置为环境变量,session的位置处于response headers里面返回的set-coo ...
- HTML知识点梳理1
1,HTML基本结构 <!DOCTYPE html> <html> <head></head> <body> </body> & ...
- Python全栈之路----编程基本情况介绍
1.多种编程语言的区别 (1)C\C++:学习成本高,学习周期长,偏系统底层,在开发硬件驱动.嵌入式.游戏引擎开发等领域有广泛应用. (2)JAVA:目前使用最广泛的编程语言,第一个跨平台运行的语言, ...
- 使用deb 打包开发的postgres extension
昨天写过一个使用rpm 打包分发pg 扩展的demo,今天使用deb 进行打包分发,同时使用checkinstall 生成我们的deb包 安装deb 依赖 sudo apt-get install c ...
- Processing 编程学习指南 (丹尼尔·希夫曼 著)
https://processing.org/reference/ 第1章 像素 (已看) 第2章 Processing (已看) 第3章 交互 (已看) 第4章 变量 (已看) 第5章 条件语句 ( ...
- OSS阿里云上传文件 前端js下载url跨域问题
场景: 1.后端上传文件至阿里云OSS,返回得到一个URL. 2.前端用这个URL下载文件,ajax请求异常:No 'Access-Control-Allow-Origin' header is pr ...
- Visual Studio生成webservice代理类
首先点击 vs菜单栏->工具 ,选择 外部工具, 在弹出的窗口中点击 添加, 然后在“标题”行中输入"WSDL生成代理类", "命令"行中输入" ...