<a href="{:url('admin/fromadd/exportorders')}" class="btn btn-primary radius"><b>导出</b></a>

手动下载PHPexcel 放到extend里面 或composer

     public function exportOrders(){header("Content-type: text/html; charset=utf-8"); $phpexcelSrc = APP_PATH.'../extend/phpexcel/PHPExcel.php';include($phpexcelSrc);$phpexcel = new \PHPExcel();$phpexcel->setActiveSheetIndex(0);//创建得表得下标为0$sheet = $phpexcel->getActiveSheet();//操作这张表//设置默认行高// $phpexcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(5);//设置宽度$phpexcel->getActiveSheet()->getColumnDimension('A')->setWidth(8);$phpexcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);$phpexcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);$phpexcel->getActiveSheet()->getColumnDimension('D')->setWidth(25);$phpexcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);$phpexcel->getActiveSheet()->getColumnDimension('F')->setWidth(18);$phpexcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);$phpexcel->getActiveSheet()->getColumnDimension('H')->setWidth(20);$excel = db('code_add')->order('addtime desc')->select();$arr = ['id'        => '序号','cardid'    => 'cardid','title'     => 'title','img'       => 'img','text'      => 'text','addtime'   => 'addtime','url'       => 'url','testurl'   => 'testurl',];array_unshift($excel,$arr);//$arr作为表格得第一行插入$row = 0;foreach ($excel as $k => $v) {$row += 1;if($k){$v['addtime'] = date("Y-m-d H:i:s",$v['addtime']);//修改时间戳}$sheet->setCellValue('A'.$row,$v['id'])//第一行第一列->setCellValue('B'.$row,$v['cardid'])->setCellValue('C'.$row,$v['title'])->setCellValue('D'.$row,$v['img'])->setCellValue('E'.$row,$v['text'])->setCellValue('F'.$row,$v['addtime'])->setCellValue('G'.$row,$v['url'])->setCellValue('H'.$row,$v['testurl']);}$time = time();$name = date("Ymd",$time);header('Content-Type: application/vnd.ms-excel');//设置下载前的头信息header('Content-Disposition: attachment;filename="'.$name.'.xlsx"');//设置下载前的文件名header('Cache-Control: max-age=0');$phpwriter = new \PHPExcel_Writer_Excel2007($phpexcel);ob_end_clean();$phpwriter->save('php://output');}

经过一番操作修改后

     //导出数据public function exportOrders(){header("Content-type: text/html; charset=utf-8"); $phpexcelSrc = APP_PATH.'../extend/phpexcel/PHPExcel.php';include($phpexcelSrc);$phpexcel = new \PHPExcel();$phpexcel->setActiveSheetIndex(0);$sheet = $phpexcel->getActiveSheet();//设置宽度$phpexcel->getActiveSheet()->getColumnDimension('A')->setWidth(35);$phpexcel->getActiveSheet()->getColumnDimension('B')->setWidth(22);$phpexcel->getActiveSheet()->getColumnDimension('C')->setWidth(65);//设置全表默认高度$phpexcel->getActiveSheet()->getDefaultRowDimension('A1')->setRowHeight(15);#设置单元格行高//设置 字体 颜色$phpexcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20);$phpexcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20);$phpexcel->getActiveSheet()->getStyle('C1')->getFont()->setSize(20);$obj_color = \PHPExcel_Style_Color::COLOR_RED;// 单元格密码保护不让修改$phpexcel->getActiveSheet()->getProtection()->setPassword(str_shuffle('PHPExcel')); #设置一个密码$phpexcel->getActiveSheet()->getProtection()->setSheet(true);$phpexcel->getActiveSheet()->getProtection()->setSort(true);$phpexcel->getActiveSheet()->getProtection()->setInsertRows(true);$phpexcel->getActiveSheet()->getProtection()->setFormatCells(true);//设置水平居中$phpexcel->getActiveSheet()->getStyle('A1:C1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$phpexcel->getActiveSheet()->getStyle('A:C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$urls = '拼接的url';$excel = db('code_add')->order('addtime desc')->select();foreach ($excel as $k => $v) {            $excel[$k]['url'] = $urls . substr($v['url'], 2);$excel[$k]['addtime'] = date("Y-m-d H:i:s", $v['addtime']);           }$arr = ['title' => 'title','addtime' => 'addtime','url' => 'url',];array_unshift($excel,$arr);$row = 0;foreach ($excel as $k => $v) {$row += 1;$sheet->setCellValue('A'.$row,$v['title'])->setCellValue('B'.$row,$v['addtime'])->setCellValue('C'.$row,$v['url']);}$time = time();$name = date("Ymd",$time);header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment;filename="'.$name.'.xlsx"');header('Cache-Control: max-age=0');$phpwriter = new \PHPExcel_Writer_Excel2007($phpexcel);ob_end_clean();$phpwriter->save('php://output');}


PHP 和 EXCEL导出时 遇到特殊字符

以上代码中用户名中存在特殊符号,导致phpexcel导出时无法识别,会出现部分字段数据丢失的问题.

以下处理:

就可以正常导出了.

public static function have_special_char($str){$length = mb_strlen($str);$array = [];$new_str = '';for ($i=0; $i<$length; $i++) {$array[] = mb_substr($str, $i, 1, 'utf-8');if( strlen($array[$i]) < 4 ){$new_str.=$array[$i];}}return $new_str;}

PHPexcel 原生导出数据相关推荐

  1. thinkphp6 + phpexcel 导入导出数据,设置特殊表格

    第一步:安装excel,使用composer安装,我的是在window下,直接cmd切换到项目下面,输入 composer require phpoffice/phpexcel,然后就等待安装完成.如 ...

  2. phpexcel列数太多,【PHPEXECL】关于使用phpExecl导出数据时,列数超过26个报错问题

    今天遇到一个关于导出excel表的问题,原因是因为导出的数据列数超过26列,为什么超过26列就会报错呢,因为execl表的抬头标示是从A-Z的,所以超过26位之后,会用[/^等等标识符进行标示.其实这 ...

  3. PHP 利用PHPExcel到处数据到Excel;还有导出数据乱码的解决方案。

    PHP 利用PHPExcel到处数据到Excel:还有导出数据乱码的解决方案. 参考文章: (1)PHP 利用PHPExcel到处数据到Excel:还有导出数据乱码的解决方案. (2)https:// ...

  4. PHPEXCEL 20万数据导入导出(一)

    本片博客记录了一次实际开发中的需要使用PHPExcel导入导出大量数据(20万)的解决过程. 复盘优化自己的项目,好处在于,一旦已找到好的方法,好的代码,你就不可能再使用差的代码 场景描述:开发环境: ...

  5. php利用phpexcel插件实现数据的导入和导出(支持csv\xls\xlsx格式和超过26个字段列)

    一.导入(这其中show_msg和logFile是自定义函数) /*** 方法名 : excelToTable* 作用 : [私有]将excel数据导入数据表中* @param1 : file 用户上 ...

  6. Php生成货运交接单excel表,PHPExcel读取文件excel模板文件导出数据信息

    在使用PHPExcel导出数据的时候,我们会碰到有时候导出的excel的格式是比较复杂的,所以我们可以通过一个excel预先排版好的模板文件,用户PHPExcel读取该文件,填充内容就行了,这样处理非 ...

  7. PHP利用phpExcel实现Excel数据的导入导出

    phpExcel包的下载地址:http://download.csdn.net/detail/kesixin/9920920 首先先说一下,这段例程是使用在Thinkphp的开发框架上,要是使用在其他 ...

  8. 基于PhalApi的PHPExcel扩展实现数据导入导出

    前言: 最近开发一款crm,使用PhalApi框架提供数据接口,要用公共接口来实现各个模块的数据导入导出功能.如果是单独的导入导出(一个模块一个导入导出接口)推荐大家使用 phpoffice/phps ...

  9. 使用PHP导入Excel和导出数据为Excel文件

    有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入.另外将mysql数据导出为Excel与本站上篇文章中导出 ...

最新文章

  1. 下一次大跃进?将机器人与物联网相结合
  2. 本地提交到yarn_Hadoop(四) Yarn
  3. 2020计算机网络基础与应用,2020年国防科技大学硕士研究生考试F1107计算机网络基础考试大纲...
  4. mysql week统计_MySQL按周统计 WEEK 实例
  5. 【毕业设计】JAVA网络通信系统的研究与开发(论文+源代码+开题报告)
  6. ubuntu16.04下ROS操作系统学习笔记(三 / 一)ROS基础-工作空间
  7. 傻瓜看完都可以简单使用Git
  8. Java之品优购课程讲义_day06(1)
  9. channelsftp实现两个xftp之间文件互传_基于Jsch实现Java操作linux服务器
  10. mysql中文占两位_mysql 保留两位小数
  11. .net core linux 串口,.Net Core 跨平台应用使用串口、串口通信 ,可能出现的问题、更简洁的实现方法...
  12. tomcat加载出现找不到web
  13. android数据库汉字,GitHub - JamesLiAndroid/chinese-xinhua: 中华新华字典数据库。包括歇后语,成语,词语,汉字。提供新华字典API。...
  14. f1c100s rootfs调试记录
  15. vscode+markdown+pandoc写论文
  16. SpringCloud与微服务Ⅷ --- Hystrix断路器
  17. 拼多多登录一直连接服务器,拼多多有自己的服务器吗
  18. 最快速度求两个数组之交集算法与hash
  19. 人工智能的创业方向到底怎么选?
  20. Matlab实现二维Goldstein分支切割相位展开算法

热门文章

  1. 基因组组装: 3D-DNA 染色体挂载
  2. C#(Unity)中XML的创建与解析
  3. Crontab 所有计划任务被清空
  4. 加权求和公式_从加权求和的角度来看kalman滤波
  5. 【开源项目】SpringCloud 快速构建项目脚手架工程(持续更新)
  6. h5浏览器,唤起app
  7. windows server 2016搭建WDS和WSUS服务
  8. SylixOS周期定时抖动分析
  9. ${0##*/}的意思
  10. 自制Console线(已测试CISCO3560可用)