php excel引入tp,TP 引入phpExcel
相对于laravel TP使用phpExcel比较麻烦,因为没有composer,所以必须先引入phpexcel文档
但是没有命名空间使用use因不进去,所以需要手动引入
namespace app\index\controller;
use think\Loader;
use think\Controller;
class Excel extends Controller
{
function excel(){
$path=dirname(__FILE__);//找到当前脚本所在路径
Loader::import('PHPExcel.Classes.PHPExcel');
Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');
$PHPExcel=new\PHPExcel();
// $PHPExcel_IOFactory = new PHPExcel_IOFactory();
$PHPSheet=$PHPExcel->getActiveSheet();
$PHPSheet->setTitle("demo");//给当前活动sheet设置名称
$PHPSheet->setCellValue("A1","姓名")->setCellValue("B1","分数");//表格数据
$PHPSheet->setCellValue("A2","张三")->setCellValue("B2","2121");//表格数据
$PHPWriter=\PHPExcel_IOFactory::createWriter($PHPExcel,"Excel2007");
header('Content-Disposition: attachment;filename="表单数据.xlsx"');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
$PHPWriter->save("php://output");//表示在$path路径下面生成demo.xlsx文件
}
}
excel表格数据导入数据库:
function inserExcel()
{
Loader::import('PHPExcel.Classes.PHPExcel');
Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');
Loader::import('PHPExcel.Classes.PHPExcel.Reader.Excel5');
//获取表单上传文件
$file=request()->file('excel');
$info=$file->validate(['ext'=>'xlsx'])->move(ROOT_PATH.'public'.DS.'uploads');
if($info){
// echo $info->getFilename();
$exclePath=$info->getSaveName();//获取文件名
$file_name=ROOT_PATH.'public'.DS.'uploads'.DS.$exclePath;//上传文件的地址
$objReader=\PHPExcel_IOFactory::createReader('Excel2007');
$obj_PHPExcel=$objReader->load($file_name,$encode='utf-8');//加载文件内容,编码utf-8
$excel_array=$obj_PHPExcel->getsheet(0)->toArray();//转换为数组格式
array_shift($excel_array);//删除第一个数组(标题);
$city=[];
foreach($excel_arrayas$k=>$v){
$city[$k]['Id']=$v[0];
$city[$k]['code']=$v[1];
$city[$k]['path']=$v[2];
$city[$k]['pcode']=$v[3];
$city[$k]['name']=$v[4];
}
Db::name('city')->insertAll($city);//批量插入数据
}else{
echo $file->getError();
}
导出
publicfunctionphpexcel(){
//测试
$this->display("User:xx");//跨模块分配页面User模块xx.html
// xx\ThinkPHP/Extend/Vendor/Excel/PHPExcel.phpVendor('Excel.PHPExcel');//导入thinkphp第三方类库
//创建一个读Excel模板的对象$objReader=PHPExcel_IOFactory::createReader('Excel5');$objPHPExcel=$objReader->load ("template.xls");//读取模板,模版放在根目录
//获取当前活动的表
$objActSheet=$objPHPExcel->getActiveSheet();
$objActSheet->setTitle('xxx');//设置excel的标题
$objActSheet->setCellValue('A1','患者信息导出');
$objActSheet->setCellValue('A2','范围:'.time().'--'.time()+5000);
$objActSheet->setCellValue('F2','导出时间:'.date('Y-m-d H:i:s'));//现在开始输出列头了$objActSheet->setCellValue('A3','编号');
$objActSheet->setCellValue('B3','姓名');
$objActSheet->setCellValue('C3','性别');//具体有多少列,有多少就写多少,跟下面的填充数据对应上就可以
//现在就开始填充数据了 (从数据库中)
$baseRow= 4;//数据从N-1行开始往下输出 这里是避免头信息被覆盖
$list=array(array('id'=>'似懂非懂','name'=>'的身份','sex'=>'好好'),array('id'=>'体育静态','name'=>'全文','sex'=>'好那么好'),array('id'=>'他','name'=>'啥都','sex'=>'vb'),array('id'=>'大范甘迪','name'=>'后感觉','sex'=>'刚回家'),array('id'=>'阿瑟斯','name'=>'好','sex'=>'如啼眼'),array('id'=>'为二位','name'=>'福德宫','sex'=>'为'),);
foreach($listas$r=>$dataRow)
{$row=$baseRow+$r;//将数据填充到相对应的位置,对应上面输出的列头
$objPHPExcel->getActiveSheet()->setCellValue('A' .$row,$dataRow['id'] );
$objPHPExcel->getActiveSheet()->setCellValue('B' .$row,$dataRow['name'] );
$objPHPExcel->getActiveSheet()->setCellValue('C' .$row,$dataRow['sex'] );
}//导出$filename='xxx患者信息导出';//excel文件名称
$filename=iconv('utf-8',"gb2312",$filename);//转换名称编码,防止乱码
header( 'Content-Type: application/vnd.ms-excel;charset=utf-8');
header( 'Content-Disposition: attachment;filename="' .$filename. '.xls"' );//”‘.$filename.’.xls”
header( 'Cache-Control: max-age=0');
$objWriter= PHPExcel_IOFactory::createWriter ($objPHPExcel, 'Excel5' );//在内存中准备一个excel2003文件
$objWriter->save ('php://output');
}
参考链接:http://blog.csdn.net/will5451/article/details/51315267
http://www.thinkphp.cn/topic/48111.html
php excel引入tp,TP 引入phpExcel相关推荐
- TP框架引入第三方无命名空间类
TP框架引入第三方无命名空间类 前言 通常我们引用第三方库都是通过composer,自动加载引用,不需要别麻烦,但是总会遇到没有可能服务器环境不同,composer问题等等,导致无法通过compose ...
- 纯js导出Excel文件(无需引入插件)
纯js导出Excel文件(无需引入插件) 提示:代码没有来得及整理,大致代码都在这里 let thlist = [[{text: '序号', rowspan: '2'},{text: '姓名', ro ...
- excel oledb mysql_通用Excel设置外部数据源引入Access数据库数据时,提示:“尚未注册 OLE DB 访问接口 Microsoft.Ace.Oledb.12.0”...
在通用Excel中开发各种ERP.CRM.OA.进销存.内控管理.项目管理.工程施工管理.客户关系管理.绩效考核管理.销售管理.采购管理.仓库管理.行政管理.财务管理.人事管理.生产管理.考勤管理等系 ...
- php中跨页面id的获取,excel跨表格提取数据?phpexcel 读取excel里的数据并在页面显示出来...
php怎么读取excel 文件数据并输出 PHPExcel PHPExcel 是用来操作Office Excel 文一个PHP类库,它基于微软的OpenXML和PHP语言.可以使用它来.写入不同格式的 ...
- vue项目中element-ui全局引入按需引入按需引入报错解决
elementUI中文网址: https://element.eleme.cn/#/zh-CN/component/layout 全局引入 1.安装element-ui cnpm install el ...
- 微信小程序引入less并引入公共样式
微信小程序引入less并引入公共样式 在原生微信小程序开发中,直接使用wxss来写组件样式是非常麻烦的,它不能进行嵌套书写,也不能声明变量,所以我们经常会引入一些css编译器来辅助我们书写样式,例如l ...
- header()实现PHP最简单的导出excel,不需要引入操作excel类库
最新的项目,因为涉及到资金,需要导出excel.先找到项目后台原本的导出功能,挺简陋的不满足项目要求,需要优化.它没有引入任何操作excel的类库,直接获取数据拼接,中间用iconv()函数将字符串从 ...
- php excel导入数据库显示乱码,php修改excel表格数据库数据格式-使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决...
PHP 用PHPExcel往数据库导入大量数据 估计0是null,所以不显示了,可以换个思路,让他显示为字符串 $number = 0; echo ''.$number 原生PHP代码实现excel导 ...
- php excel 类,【PHP】PHPExcel类 excel常用操作小结
PHP使用好久了,好像今天才想起来要记一篇博客呢.之前一直用的 ci 框架,后来做接口的时候打算换成 tp5, 不料机缘巧合之下又结识了 node,于是乎决然的站到了 js 的大营之下.PHP这块我会 ...
- uniapp怎么引入css_Uniapp怎么引入外部js
Uniapp引入外部js的方法:首先新建一个indexl文件,引入外部js,代码为[]:然后打开manifest文件. 本教程操作环境:windows7系统.uni-app2.5.1版本,该方法适用于 ...
最新文章
- 手写html5游戏,HTML5 手写输入法
- Python中做接口自动化如何读取配置ini文件
- 别再说学习无趣了,跟你分享这 8 条 Python 奇技淫巧!
- EasyRTMP实现的rtmp推流的基本协议流程
- 访问网络共享时出现“拒绝访问”
- 响应式滚动图懒加载 element ui el-carousel 组件优化代码
- 看涨戴尔科技的八大原因
- 你那不是拖延症,只是习惯性逃避
- FMCW激光雷达原理推导公式
- 项目报错信息如下:java.text.ParseException: Unparseable date: “Wed Aug 03 2022 00:00:00 GMT+0800 (中国标准时间)“
- 搭窝---开篇语---爆笑语录
- 汇编语言上机考试三星题——负数变成绝对值,并以十进制方式输出。
- Java selenium 爬取 星图
- 安卓调用手机自带的浏览器
- 查看云主机是否有显卡,配置如何?
- pfx私有证书转cer公钥格式证书
- UBLOX F9P搭建NtripCaster组建RTK
- torch.diag()
- SAP外协采购单和销售单需求关闭预留未清处理方法
- 魔兽争霸 java_魔兽maphack其实很简单