热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

thinkphp导入导出xls文件

1**2*数组转xls格式的excel文件3*paramarray$data需要生成excel文件的数组4*paramstring$filename生成的excel文件名5*示例数

1 /**
2 * 数组转xls格式的excel文件
3 * @param array $data 需要生成excel文件的数组
4 * @param string $filename 生成的excel文件名
5 * 示例数据:
6 $data = array(
7 array(NULL, 2010, 2011, 2012),
8 array('Q1', 12, 15, 21),
9 array('Q2', 56, 73, 86),
10 array('Q3', 52, 61, 69),
11 array('Q4', 30, 32, 0),
12 );
13 */
14 function create_xls($data,$filename = 'simple.xls'){
15 ini_set('max_execution_time','0');
16 Vendor('PHPExcel.PHPExcel');
17 $filename = str_replace('.xls','',$filename) . '.xls';
18 $phpexcel = new PHPExcel();
19 $phpexcel->getProperties()
20 ->setCreator("Maarten Balliauw")
21 ->setLastModifiedBy("Maarten Balliauw")
22 ->setTitle("Office 2007 XLSX Test Document")
23 ->setSubject("Office 2007 XLSX Test Document")
24 ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
25 ->setKeywords("office 2007 openxml php")
26 ->setCategory("Test result file");
27 $phpexcel->getActiveSheet()->fromArray($data);
28 $phpexcel->getActiveSheet()->setTitle('Sheet1');
29 $phpexcel->setActiveSheetIndex(0);
30 header('Content-Type: application/vnd.ms-excel');
31 header("Content-Disposition: attachment;filename=$filename");
32 header('Cache-Control: max-age=0');
33 header('Cache-Control: max-age=1');
34 header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');//Date in the past
35 header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');//always modified
36 header ('Cache-Control: cache, must-revalidate');//HTTP/1.1
37 header ('Pragma: public');//HTTP/1.0
38 $objwriter = PHPExcel_IOFactory::createWriter($phpexcel,'Excel5');
39 $objwriter->save('php://output');
40 exit;
41 }

导出的使用:

1 //导出
2 public function create_xls() {
3 $industry_list = M('welfare')->field('welfare_name')->select();
4 $data = array();
5 array_push($data, array('福利名称'));
6 foreach ($industry_list as $key => $value) {
7 array_push($data, array($value['welfare_name']));
8 }
9 create_xls($data, '福利');
10 }

导入:

//导入public function upload_xls() {$upload = new \Think\Upload();$upload->maxSize = 3145728;$upload->exts = array('xls', 'xlsx');$upload->saveExt = 'xls';$upload->rootPath = './Application/Upload/excel/';$upload->autoSub = false;$result = $upload->uploadOne($_FILES['xls_file']);if (!$result) {$this->error($upload->getError(), U('WelFare/welfare_list'));}$data = import_excel($upload->rootPath . $result['savepath'] . $result['savename']);delDirAndFile($upload->rootPath . $result['savepath']);$list = array();unset($data[1]);$i = 0;foreach ($data as $k => $v) {$param = array();$param['welfare_name'] = $v[0];$info = M('welfare')->where($param)->find();if ($info)continue;$list[$i]['welfare_name'] = $v[0];$i++;}if ($i) {M('welfare')->addAll($list);$this->success('成功插入了' . $i . '条数据', U('WelFare/welfare_list'));} else {$this->error('插入了0条数据', U('WelFare/welfare_list'));}}

 

转:https://www.cnblogs.com/laijinquan/p/7443538.html



推荐阅读
  • vue使用
    关键词: ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
author-avatar
QQweiqiang_850
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有