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 ...
随机推荐
- JAVA学习笔记系列4-Eclipse版本选择
下载Eclipse需要根据安装的JDK的版本来决定是安装32位还是64位,不是根据操作系统选的.
- tp5阿里云短信发送
到阿里云下载php版demo,下完整版的,不是轻量级的; 框架 :TP5 把下载下来的文件放到extend里面 文件名:alimsg 里面的文件 import('alimsg.api_demo.Sm ...
- Tex_安装_在Ubuntu系统下
$\LaTeX$是一个强大的排版软件,在数学公式.表格.甚至是科学绘图方面有着独特优势.本文在Ubuntu系统下,整理Tex安装相关的操作,以为备忘.所引链接都未同作者商量,如有不妥望及时告知. 命令 ...
- scrapy初探(一)-斗鱼TV直播信息抓取
由于有相关需求,最近两天开始学了一下scrapy 这次我们就以爬取斗鱼直播间为例,我们准备爬取斗鱼所有的在线直播信息, 包括1.主播昵称 2.直播领域 3.所在页面数 4.直播观看人数 5.直播间ur ...
- MySQL设置空密码
因为刚安装的时候,MySQL强制设置密码,但是我需要设置MySQL为空密码 语句: ';
- Django App(五) load static files
经过前面4篇的努力,已经基本完成了,polls站点的功能,但是所有界面都没有涉及样式,和JavaScript的导入.到目前为止了解到的Django是通过解析Url来完成对客户端的响应的,那么组成站点所 ...
- 解决使用angular2路由后,页面刷新后报404错误。
点击路由链接跳转页面是正常的,但是当刷新页面时就出现了404错误. 解决方法如下: 在app.module.ts中添加import: import {HashLocationStrategy,Loca ...
- 使用mybatis调用存储过程(注解形式和配置文件形式)
最近在看资料中涉及到mybatis,突然想到mysql中的视图.存储过程.函数.现将在使用mybatis调用mysql的存储过程使用总结下: 使用的环境:mybatis3.4.6,mysql 5.6, ...
- SSM前言——相关设计模式
1.使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑.客户类真正的想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象. 2.静态代理是指,代理类在程序运行前就已经定义好,其与目 ...
- Cortex-M3的一些概念
[工作模式] 线程模式(Thread mode):处理器复位或异常退出时为此模式.此模式下的代码可以是特权代码也可以是用户代码,通过CONTROL[0]控制.处理模式(Handler mode):出现 ...