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 ...
随机推荐
- linux之创建用户
用户 useradd xxx 创建用户 默认是普通用户 useradd -u666 web 创建新用户 设置id号 groupadd -g 777 ...
- Linux运维之shell脚本进阶篇
一.if语句的使用 1)语法规则 if [条件] then 指令 fi 或 if [条件];then 指令 fi 提示:分号相当于命令换行,上面两种语法等同特殊写法:if[ -f"$file ...
- 微信连wifi,中文ssid报Invalid sign tosign错误
Invalid sign tosign错误如上: 是微信官方接受和回传的问题,改固定字符解决: 比如将ssid固定修改为字符串‘ssid’即可:
- Front-end: Using blurred backgrounds with contents unaffected.
Purpose: Using a picture as the background of a page with blurred effect, while the content not blur ...
- [ 随手记 1 ] C/C++宏,普通函数,内联函数
函数定义 C 语言中的函数定义的一般形式如下: return_type function_name( parameter list ) { body of the function } 在 C 语言中 ...
- Python全栈之路----常用模块----random模块
程序中有很多地方需要用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串. >>> import random >>> random ...
- jmeter4.0安装记录
前提:jmeter需配置环境变量jdk,jmeter4.0版本需1.7以上版本, 查看jdk版本命令java -version 1.官网http://jmeter.apache.org/downloa ...
- Vue遇到的问题
1.<a v-bind:[attributeName]="url"> ... </a> 报错,原因 attributeName应该属于关键字,不能用 2 ...
- PTA——完全数
PTA 7-45 找完数 网友“云上明月”的程序: #include<stdio.h> int isPerfect(int num); int main() { ; int maxFact ...
- bzoj 2460 线性基
#include<bits/stdc++.h> #define ll long long #define LL long long #define int long long using ...