excel导入 导出
PHP页面 //设置header
header("content-Type:text/html;charset=utf-8");
//设置文件大小的限制
ini_set("memory_limit",'1024M');
//引入类文件
Loader::import("PHPExcel.Classes.PHPExcel",EXTEND_PATH,'.php');
$obj=new \PHPExcel();
//当前展示出来的页面
$sheetobj=$obj->getActiveSheet();
//查询数据库
$data=Db::table('qq')->select();
//赋值表格(重命名)
$sheetobj->setTitle("测试导出");
$sheetobj->setCellValue("A1","ID")
->setCellValue("B1","导航名称")
->setCellValue("C1","性别")
->setCellValue("D1","城市");
//开始位置从第二行开始
$j=2;
foreach($data as $k =>$v){
$sheetobj->setCellValue("A".$j,$v['id'])
->setCellValue("B".$j,$v['nickname'])
->setCellValue("C".$j,$v['gender'])
->setCellValue("D".$j,$v['city']);
$j++;
}
(来自于[PHPExcel文档)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1'); // If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = \PHPExcel_IOFactory::createWriter($obj, 'Excel2007');
$objWriter->save('php://output');
exit; //导入 数据入库 public function excel_do(){
//设置header头
header("content-Type:text/html;charset=utf-8");
//设置文件大大小限制
ini_set("memory_limit",'1024M');
//引入类文件
Loader::import("PHPExcel.Classes.PHPExcel");
$obj=new \PHPExcel();
//接受一下前台传过来的源文件
$excel=$_FILES;
//获取上传文件名字
$file_name=$excel['excel']['name'];
//获取后缀
$extension=strtolower(pathinfo($file_name,PATHINFO_EXTENSION));
if($extension=='xlsx'){
//新版本 实例化excel2007
$reader=\PHPExcel_IOFactory::createReader('Excel2007');
}else{
//老版本 实例化excel5
$reader=\PHPExcel_IOFactory::createReader('Excel5');
}
//已阅读者的身份加载文件
$content=$reader->load($excel['excel']['tmp_name']);
$arr=$content->getSheet(0)->toArray();
// print_r($arr);die;
unset($arr[0]);
foreach ($arr as $k =>$v){
$data['name']=$v[0];
$data['pwd']=$v[1];
$res[]=$data;
}
$a=Db::table('week1')->insertAll($res);
if($a){
$this->success("入库成功");
}else{
$this->error("入库失败");
}
}
//excel导出
public function comList(){
$title=array("唯一标识","单位名称","负责人","工作负责人","负责人电话","合同材料","清运资质","上传时间");
$filename="小区列表";
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=$filename.xls");
echo "<table style='border:1px solid #000;'><tr >";
$data=Db::table('bf_community_sub')->select();
//导出表头(也就是表中拥有的字段)
for($i=0;$i<count($title);$i++){
echo "<th style='border:1px solid #000;'>".$title[$i]."</th>";
}
echo "</tr>";
for($i=0;$i<count($data);$i++){
$contractImg=$data[$i]['contractImg'];
$qualifica=$data[$i]['qualifica'];
$contract=explode(",",$contractImg);
$clean=explode(",",$qualifica);
echo "<tr>";
echo "<td style='border:1px solid #000;'>".$data[$i]['id']."</td>";
echo "<td style='border:1px solid #000;'>".$data[$i]['company']."</td>";
echo "<td style='border:1px solid #000;'>".$data[$i]['person']."</td>";
echo "<td style='border:1px solid #000;'>".$data[$i]['workperson']."</td>";
echo "<td style='border:1px solid #000;'>".$data[$i]['workphone']."</td>";
echo "<td style='width: 100px;height: 100px;border:1px solid #000;' ><img width='100' height='100' src='http://bfsj.yiqifenlei.com/".$contract[0]."'></td>";
echo "<td style='width: 100px;height: 100px;border:1px solid #000;'><img width='100' height='100' src='http://bfsj.yiqifenlei.com/".$clean[0]."'></td>";
echo "<td style='border:1px solid #000;'>".$data[$i]['created_at']."</td>";
echo "</tr>";
}
echo "<tr>";
echo "<td style='border:1px solid #000;'></td>";
echo "<td style='border:1px solid #000;'></td>";
echo "<td style='border:1px solid #000;'></td>";
echo "<td style='border:1px solid #000;'></td>";
echo "<td style='border:1px solid #000;'></td>"; //
echo "</tr>";
echo "</table>";die;
}
excel导入 导出的更多相关文章
- 利用反射实现通用的excel导入导出
如果一个项目中存在多种信息的导入导出,为了简化代码,就需要用反射实现通用的excel导入导出 实例代码如下: 1.创建一个 Book类,并编写set和get方法 package com.bean; p ...
- Excel导入导出的业务进化场景及组件化的设计方案(上)
1:前言 看过我文章的网友们都知道,通常前言都是我用来打酱油扯点闲情的. 自从写了上面一篇文章之后,领导就找我谈话了,怕我有什么想不开. 所以上一篇的(下)篇,目前先不出来了,哪天我异地二次回忆的时候 ...
- 关于Excel导入导出的用例设计
目前,为方便操作,很多系统都会增加批量导入导出的功能.文件导入导出一般格式都是excel.由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel ...
- ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...
- Excel导入导出帮助类
/// <summary> /// Excel导入导出帮助类 /// 记得引入 NPOI /// 下载地址 http://npoi.codeplex.com/rele ...
- 一个基于POI的通用excel导入导出工具类的简单实现及使用方法
前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...
- Octopus——excel导入导出工具
Octopus Octopus是一个简易的Excel导入导出工具.目前主要就两个功能: 导入:将excel中一行数据转换为指定的java对象,并通过指定的正则表达式检查合法性. 导出:按照给定的xml ...
- TP5.0 excel 导入导出
引第三方的phpexcel类库放到 ThinkPHP\Library\Vendor\demo下,自己建的文件夹demo 再将Excel.class放到ThinkPHP\Library\Org\clas ...
- Mego(04) - NET简单实现EXCEL导入导出
前言 相信做过信息系统的朋友都会遇到EXCEL导入导出的相关开发,做过不少EXCEL导入导出后总结起来大致有如下几种方式实现: ADO.NET的OldDb或ODBC连接EXCEL使用DataTable ...
- JeeSite中Excel导入导出
在各种管理系统中,数据的导入导出是经常用到的功能,通常导入导出以Excel.CSV格式居多.如果是学习的过程中,最好是自己实现数据导入与导出的功能,然而在项目中,还是调用现成的功能比较好.近期一直使用 ...
随机推荐
- mysql分区分表讲解
为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能 ...
- 【转载】谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
转载自:https://blog.csdn.net/tantexian/article/details/48196453 SOA: 维基百科解释:SOA:面向服务的软件架构(Service Orien ...
- Linux安装Broadcom无线驱动
参考https://blog.csdn.net/u012833250/article/details/52493806 首先查看自己的网卡型号,然后先执行sudo apt-get update 再根据 ...
- 每天一个小程序—0014题(txt 转 Excel)
基础知识:Excel文件的后缀有xls和xlsx,前者是针对2003版本的,2007及其之后的版本是xlsx. 在python中对于这两种不同后缀的文件有不同的库来处理,对于xls用wlrd.xlwt ...
- Linux命令之sudo
在 Linux 系统中,由于 root 的权限过大,一般情况下都不使用它.只有在一些特殊情况下才采用登录root 执行管理任务,一般情况下临时使用 root 权限多采用 su 和 sudo 命令. ...
- 使用 jenkins 搭建CI/CD流水线 (MAC)
如何搭建持续集成/持续交付平台?? 如何使用jenkins搭建持续交付流水线,以及和其他工具(如artifactory)集成?如何使用元数据,记录软件发布过程的构建信息,测试结果,并用rest Api ...
- 语法对照表ES5VSES6
模块 导入 在ES5里面,如果使用CommonJS的标准,引入包一般是使用require来的 //ES5 js var React = require("react") var { ...
- 每日质量NPM包-classnames
一.classnames 现在到处都追求效率开发,所谓存在即合理,各种各样的开源包/项目火热,也是因为他们大大解决了之前复杂的逻辑.作为榜上前10的热门包:classnames.还真需要了解了解它才能 ...
- 恢复Intellij idea删除的文件
恢复Intellij idea的删除文件方法: 右键单机项目名称---->Local History---->Show History 可以看到历史操作记录,右键单机想要恢复的文件---- ...
- python3 items() 与 python2 中iteritems()的区别
在Python2.x中, iteritems() 用于返回本身字典列表操作后的迭代 Python 3.x 里面, iteritems() 方法已经废除了,而 items() 得到的结果是和 2.x 里 ...