十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先,将PHPExcel文件放入到vendor目录下面:
成都创新互联公司是专业的白水网站建设公司,白水接单;提供网站设计、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行白水网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
备注:ThinkPHP3.1的路径是:./ThinkPHP/Extend/Vendor/;ThinkPHP3.2的路径是:./ThinkPHP/Library/Vendor/;
数据导出功能的实现:
编写导出为Excel的函数exportExcel:
public function exportExcel($expTitle,$expCellName,$expTableData){
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
$fileName = $_SESSION['account'].date('_YmdHis');//文件输出的文件名
$cellNum = count($expCellName);
$dataNum = count($expTableData);
vendor("PHPExcel.PHPExcel");
$objPHPExcel = new PHPExcel();//ThinkPHP3.1的写法
$objPHPExcel = new \PHPExcel();//ThinkPHP3.2的写法,有命名空间的概念
$cellName =
array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
$objPHPExcel-getActiveSheet(0)-mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
//
$objPHPExcel-setActiveSheetIndex(0)-setCellValue('A1',
$expTitle.' Export time:'.date('Y-m-d H:i:s'));
for($i=0;$i$cellNum;$i++){
$objPHPExcel-setActiveSheetIndex(0)-setCellValue($cellName[$i].'2', $expCellName[$i][1]);
}
// Miscellaneous glyphs, UTF-8
for($i=0;$i$dataNum;$i++){
for($j=0;$j$cellNum;$j++){
$objPHPExcel-getActiveSheet(0)-setCellValue($cellName[$j].($i+3),
$expTableData[$i][$expCellName[$j][0]]);
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');//ThinkPHP3.1的写法
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');//ThinkPHP3.2的写法,有命名空间的概念
$objWriter-save('php://output');
exit;
}
3.读取数据,调用数据调用数据导出函数exportExcel:
function expUser(){//导出Excel
$xlsName = "User";
$xlsCell = array( //设置字段名和列名的映射
array('id','账号序列'),
array('truename','名字'),
array('sex','性别'),
array('res_id','院系'),
array('sp_id','专业'),
array('class','班级'),
array('year','毕业时间'),
array('city','所在地'),
array('company','单位'),
array('zhicheng','职称'),
array('zhiwu','职务'),
array('jibie','级别'),
array('tel','电话'),
array('qq','qq'),
array('email','邮箱'),
array('honor','荣誉'),
array('remark','备注')
);
$xlsModel = M('Member');
$xlsData =
$xlsModel-Field('id,truename,sex,res_id,sp_id,class,year,city,company,zhicheng,zhiwu,jibie,tel,qq,email,honor,remark')-select();
//将sex字段中1和0分贝装换为“男”和“女”
foreach ($xlsData as $k = $v)
{
$xlsData[$k]['sex']=$v['sex']==1?'男':'女';
}
$this-exportExcel($xlsName,$xlsCell,$xlsData);
}
PHP框架 Laravel Eloquent ORM 批量插入数据是通过传入数组实现的。
比如:
DB::table('users')-insert(array(
array('email' = 'taylor@example.com', 'votes' = 0),
array('email' = 'dayle@example.com', 'votes' = 0),
));
以上是操作表users,执行insert语句,参数是一个数组,封装了两条数据,这里可以自定义数据,insert内部就编程批量插入了。
然后调用save方法:
public static function create(array $attributes)
{
$model = new static($attributes);
$model-save();
return $model;
}
Python:
1.requests 很好用的http库,中文文档:Requests: 让 HTTP 服务人类
2.BeautifulSoup 很好用很强大的html解析库,中文文档:Beautiful Soup 4.4.0 文档
3.Scrapy 知名爬虫框架,中文文档:Scrapy 0.25 文档
数组{name=张三,age=10岁}
array1={0=name,1=age}
array2={0=张三,1=10岁}
implode(",",$array)就是用逗号连接字符串
结果str=name,age; str1=张三,10岁
insert into tb_form (name,age) values('张三,10岁')能看懂的吧?
PHP随便你用什么框架都不是问题,重点是玩的熟悉了后,PHPER自己做出类似YII,CI的框架都不是问题,而且现在成熟框架来说,也有很多缺点比如 ZEND FRAMEWORK,走的是MVC套路,但是实际上低成本的框架不一定是这个结构,而是后BS时代的近似于CS结构的那种通信方式,代码越少,开发周期就会变短。YII的问题是过度封装,仔细阅读代码,就会发现,这个过度封装,导致代码繁琐CI的主要问题是数据库支持,以后随着NOSQL类数据库的大型其道,CI那种数据库查询的封装方式,会导致很多功能无法通过其内框架内的查询封装解决,比如NOSQL中的立体数据,动态增减字段,把数据当成队列做PUSH和PULL的操作,都无法正常使用,牺牲了一些高级特性我一直都用自己书写的框架来构建项目,随着目前项目结构和趋势的变化,有一部分迁移到了NODE.JS,PHP不再是最嘉选择,如果还有不明白的话,你也可以去后盾人平台看看php基础教学视频看看,也是不错的选择,希望能帮到你,给个采纳吧谢谢((٩(//̀Д/́/)۶))