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 ...
随机推荐
- React Native 调用 Web3(1.x) 的正确姿势
1 创建项目 react-native init lm1 cd lm1 2 安装依赖包 yarn add node-libs-browser 3 创建 rn-cli.config.js 脚本 cons ...
- 24. dfs数的路径查找
输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径. 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. (注意: 在返回值的list中,数组长度大的数组 ...
- xshell连接linux主机时,出现错误:Could not connect to '***.***.***.***' (port 22)
xshell连接linux主机时,会出现错误:Could not connect to '192.168.89.144' (port 22): Connection failed. 但是这时能ping ...
- node.js创建简单服务测试请求数据
工具:安装node: 1,创建文件夹 server, 2 ,在server文件夹下分别创建server.js 和 package.json 文件 3,server.js 代码: var express ...
- SQL特殊comment语法
SQL 注释的特殊用法: /*!版本号 语句*/ 表示大于等于某个版本是,才执行相应的语句. 在版本为5.7.23的MySQL上做测试如下: 测试1 mysql> select 1 /*!507 ...
- axiso实战问题
this.axios({ method: 'get', url: '/api/projectmgt/project/Project/list', withCredentials : true, hea ...
- MVC Ajax.BeginForm 提交上传图片
吃水不忘挖井人,如果对你有帮助,请说声谢谢.如果你要转载,请注明出处.谢谢! 异步提交时,出现图片不能上传. 起初我定格在 System.Web.Mvc 中.查询源码时,也是没有问题的.那问题出现 ...
- Xilinx 7 series FPGA multiboot技术的使用
Xilinx 7 series FPGA multiboot技术的使用 当升级程序有错误的时候,系统会启动golden bitstream 注意:需要在源工程与升级工程中添加如下约束语句 生成组合mc ...
- 5G投资逻辑
5G投资逻辑 关注光模块生产厂商. 通信射频滤波器,功率放大器生产厂商. 光无源器件的需求增多
- Excel技巧--实现交叉查询
如上图,要实现某个地区和某个产品的销售额查询显示.可以使用Match和Index函数的使用来实现: 1.产品名称和城市栏,制作成列表可选:使用“数据”-->“数据验证”的方法. 2.先在旁边空位 ...