版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33862644/article/details/80356873

/**
* 商品库存excel导出
*/
public function excel()
{
//查询出要导出的数据
$data = $this->request->param('ids/a'); //接收参数(用户勾选多个id)
$model = new StockModel();
$res = $model->excelSelect($data); //查数据 date_default_timezone_set('Asia/shanghai'); //设置时区,否则有警告 $objPHPExcel = new PHPExcel(); //composer下来的 // 设置文件属性
$objPHPExcel->getProperties()->setCreator("xiGua")//设置作者
->setLastModifiedBy("xiGua") //设置最后一个修改的人
->setTitle("库存报表") //设置标题
->setSubject("Office 2007 XLSX Test Document")//设置
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")//设置解释
->setKeywords("office 2007 openxml php")//设置关键字
->setCategory("Test result file");//EXCEL 类别 $objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A1", '通驰库存')
->mergeCells("A1:F1"); //合并单元格
//设置行第一行高度为25px
$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(25);
$objPHPExcel->getActiveSheet() //设置行高 居中
->getStyle('A1')->getAlignment()
->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //添加数据
$objPHPExcel->setActiveSheetIndex(0) //指定在当前活动的表格中添加
->setCellValue('A2', '品牌') //在xx中插入
->setCellValue('B2', '型号')
->setCellValue('C2', '进价')
->setCellValue('D2', '进货数量')
->setCellValue('E2', '现库存')
->setCellValue('F2', '进货时间'); $num_key = 3;                        //第1行是合并后的标题,第2行是列名,所以数据需要从第3行开始
foreach($res as $value){
$num_key++;
$objPHPExcel->setActiveSheetIndex(0) //库中查出来的数据放这
->setCellValue('A'.$num_key, $value['brand'])
->setCellValue('B'.$num_key, $value['version'])
->setCellValue('C'.$num_key, $value['stock_bid'])
->setCellValue('D'.$num_key, $value['num'])
->setCellValue('E'.$num_key, $value['remnant_inventory'])
->setCellValue('F'.$num_key, date("Y-m-d H:i:s",$value['update_time']));
} // Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('标签1'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0); ob_clean();
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="通驰库存.xls"'); //下载文件名字
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($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
//exit;
}
 

【功能点】php导出excel的更多相关文章

  1. [转载]ecshop 实现订单导出功能 指定订单导出 EXCEL 数据文件

    当下很多功能都觉得理所当然,但是实际作为2012年停更的ECSHOP来说,很多功能其实都是缺少的,好比今天的要说的功能 订单导出 这个功能对于现在的产品设计来说,应该属于一个比较常规的功能,但是ECS ...

  2. poi导出excel

    Java使用poi组件导出excel报表,能导出excel报表的还可以使用jxl组件,但jxl想对于poi功能有限,jxl应该不能载excel插入浮动层图片,poi能很好的实现输出excel各种功能, ...

  3. java导入导出excel常用操作小结及简单示例

    POI中常用设置EXCEL的操作小结: 操作excel如下 HSSFWorkbook wb = new HSSFWorkbook();  //创建一个webbook,对应一个Excel文件 HSSFS ...

  4. Web C# 导出Excel 方法总结

    方法1:微软推荐服务器需安装Excel型 依赖: 软件:Office Excel 2007-2013 引用:Microsoft Office 14.0 Object Library 1.1 数据准备 ...

  5. winfrom 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中

    1.通过NUGET管理器下载nopi,在引入命令空间 using System; using System.Collections.Generic; using System.Text; using ...

  6. java根据xml配置文件导出excel通用方法

    java web项目中时常会用到导出功能,而导出excel几乎是每个项目必备的功能之一.针对形形色色的导出方法及个人平时的工作经验,特将导出excel方法整理成通用的方法,根据xml配置来实现特定的导 ...

  7. PHP的laravel框架后台实现数据导出excel的功能

    要想在PHP后台实现excel导入导出功能,一种简单有效的方法就是使用phpexcel插件. 要使用phpexcel插件,首先需要下载composer,这个工具是专门用来管理项目中库之间的依赖关系的. ...

  8. 润乾报表新功能–导出excel支持锁定表头

     在以往的报表设计中,锁定表头是会经常被用到的一个功能,这个功能不仅能使浏览的页面更加直观,信息对应的更加准确,而且也提高了报表的美观程度.但是,很多客户在将这样的报表导出excel时发现exce ...

  9. Atitit.导出excel功能的设计 与解决方案

    Atitit.导出excel功能的设计 与解决方案 1.1. 项目起源于背景1 1.2. Js  jquery方案(推荐)jquery.table2excel1 1.3. 服务器方案2 1.4. 详细 ...

  10. 项目笔记:导出Excel功能

    1.前台这块: var ids=""; $.post("${basePath}/assets/unRegDeviceAction_getDeviceIds.do" ...

随机推荐

  1. python总结四

    sql性能优化的几种方式: 1.查询的模糊匹配: 尽量避免在一个复杂查询里面使用like '%parm%',前面的%会导致相关列的索引无法使用,最好不要用 直接修改后台,根据输入条件,先查出符合条件的 ...

  2. vue package-lock.json

    npm5之后安装文件之后会多出一个package-lock.json的文件,它的作用是: 1. 安装之后锁定包的版本,手动更改package.json文件安装将不会更新包,想要更新只能使用 npm i ...

  3. Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题

    <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...

  4. java基础 面向对象 & 接口 & 抽象类

    从语法层面而言,接口和抽象类的区别如下: 1.抽象类可以提供成员方法的实现细节,而接口中只能存在抽象方法(默认 public abstract)2.抽象类中的成员变量可以是多种类型,而接口中的成员变量 ...

  5. 第8课 常量表达式(constexpr)

    一. const 和constexpr的区别 (一)修饰变量时,const为“运行期常量”,即运行期数据是只读的.而constexpr为“编译期”常量,这是const无法保证的.两者都是对象和函数接口 ...

  6. Linux查看端口使用情况

    1.netstat -tunlp,查看已使用的端口 2.netstat -tunlp | grep 8080,查询指定端口使用情况 3.netstat命令无法使用需要安装net-tools yum i ...

  7. Pycharm 个人认为舒服漂亮又好用的主题风格

    又开始和code打交道了系列…… 实验室换了新电脑,故而,重新安装了各种软件,乃至重新配置  Pycharm主题,找了好久,终于找到,想着应该mark一下,以备下次需要. 个人认为 Monokai 这 ...

  8. PatchMatch小详解

    最近发了两片patch match的,其实自己也是有一些一知半解的,找了一篇不知道谁的大论文看了看,又回顾了一下,下面贴我的笔记. The PatchMatch Algorithm patchmatc ...

  9. Vim 入门教程

    Vim 入门教程 转载请保留以上信息 Vim 的教程相对比较零散,系统的教程比较少,我也阅读过不少教程,走过很 多弯路.借着 Vim-china 组织组建这一契机,整理下自己学习过的内容, 分享给大家 ...

  10. 红米note7几个问题处理

    1.听筒声音很小,外放正常,试了很多种方法,最终可行的是吧听筒网灰尘弄一下. 2.SAICLink车机互联:需要打开USB调试.USB安装.USB调试(安全设置)(不开启这个的话会连接后就断开).默认 ...