//浏览器输出excel
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="dzg_card_info.xlsx"');
header('Cache-Control: max-age=0'); $this->load->library('PHPExcel'); //加载类库,其他框架可以使用require_one
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0); //设置第一个工作表为活动工作表
$objPHPExcel->getActiveSheet()->setTitle('card_info'); //设置工作表名称
//为单元格赋值
//方法①:直接设置单元格的值
/* $objPHPExcel->getActiveSheet()->setCellValue('A1', 'PHPExcel');
$objPHPExcel->getActiveSheet()->setCellValue('A2', 12345.6789);
$objPHPExcel->getActiveSheet()->setCellValue('A3', TRUE); */ //方法②:二维数组
$arrHeader = array(['id', '名字', '技能', '创建时间']);
$arrAllCardInfo = $this->admin_model->getAllCardInfo(); //二维数组
$arrExcelInfo = array_merge($arrHeader, $arrAllCardInfo);
$arrExcelInfo = eval('return ' . iconv('gbk', 'utf-8', var_export($arrExcelInfo, true)) . ';'); //将数组转换成utf-8
$objPHPExcel->getActiveSheet()->fromArray(
$arrExcelInfo, // 赋值的数组
NULL, // 忽略的值,不会在excel中显示
'A1' // 赋值的起始位置
); //创建第二个工作表
$msgWorkSheet = new PHPExcel_Worksheet($objPHPExcel, 'card_message'); //创建一个工作表
$objPHPExcel->addSheet($msgWorkSheet); //插入工作表
$objPHPExcel->setActiveSheetIndex(1); //切换到新创建的工作表
$arrHeader = array(['id', 'uid', '描述']);
$arrBody = $this->admin_model->getAllCardMsg();
$arrExcelInfo = array_merge($arrHeader, $arrBody);
$arrExcelInfo = eval('return ' . iconv('gbk', 'utf-8', var_export($arrExcelInfo, true)) . ';'); //将数组转换成utf-8
$objPHPExcel->getActiveSheet()->fromArray(
$arrExcelInfo, // 赋值的数组
NULL, // 忽略的值,不会在excel中显示
'A1' // 赋值的起始位置
); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");
$objWriter->save('php://output'); $objPHPExcel->disconnectWorksheets();
unset($objPHPExcel);

PHPExcel 多工作表 导出的更多相关文章

  1. PHPExcel 多工作表 导入

    //参数初始化 $filePath = ''; if ($_FILES["file"]["error"] > 0) { returnJSON(ERROR_ ...

  2. PHP用PHPExcel导出有多个工作表的Excel表格(thinkPHP3.2.3)

    直接上代码: //导出excel public function excel() { //引入相关文件 import("Org.Util.PHPExcel"); import(&q ...

  3. RDLC 微软报表 导出Excel时产生多个工作表 (worksheet)

    . I have added two obejcts data source to Report Viewer. 2. in RDLC i have created two tables and in ...

  4. C#将一个excel工作表根据指定范围拆分为多个excel文件

    C#将一个excel工作表根据指定范围拆分为多个excel文件 微软Excel没有提供直接的方法来拆分excel文件,因此要拆分一个excel文件最简单的方法可能就是手动剪切和粘贴了,除此之外,还有其 ...

  5. (后端)如何将数据库的表导出生成Excel?

    1.如何通过元数据拿到数据库的信息? 2.如何用Java生成Excel表? 3.将数据库中的表导出生成Excel案例 如何通过元数据拿到数据库的信息 元数据:描述数据的数据 Java中使用元数据的两个 ...

  6. mysqldump 导出统一限制每张数据表导出的记录数

    mysqldump 导出统一限制每张数据表导出的记录数 在工作过程中,需要将生产的数据导出到本地开发环境,我希望可以导出部分数据.而服务器数据量比较大(上千万),如果选择直接从服务器导出数据, 正在运 ...

  7. Excel表导出

     前言 分别介绍两种导出Exce表格的方法和读取Excel表格数据方法. 1.在MVC下的表格导出. 2.基于NPOI的表格导出. 3.读取Excel表格数据. 第一种方法:在MVC下的表格导出. 首 ...

  8. jfinal excel表导出

    在自己的WEB项目中要用到导出Excel,所以结合网络上的资源写了一个自己的export 工具类. 说明: JFinal 环境 WEB项目 JAVA后台生成非JS插件 好了,直接撸代码 1.设置文件保 ...

  9. 个人永久性免费-Excel催化剂功能第51波-聚光灯功能,长宽工作表不看错位使用

    Excel的聚光灯功能,笔者是有点看不上,也曾经写文吐槽过这些类似的功能的实用性,但现实可能真的很多小白很需要,大家Excel水平参差不齐,大量的不规范做表习惯,致使此功能使用场景仍然非常广阔.很怀疑 ...

随机推荐

  1. 存储、读取——Android应用程序内置的文件夹

    1.将数据存储到应用程序的文件夹,并读写 Context提供了两个方法,打开应用程序文件夹的I/O,若文件不存在则创建 FileInputStream openFileInputStream(Stri ...

  2. aspose.words 处理word转PDF

    处理如下: import com.aspose.words.Document; import com.aspose.words.SaveFormat; import com.platform.cust ...

  3. 4x4矩阵键盘扫描

    4x4矩阵键盘扫描 Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架 ...

  4. 了解单位em和px的区别

    这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平时都是用p ...

  5. Android客户端与服务器交互中的token

    学习Token Token是什么? Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Tok ...

  6. css案例学习之父子块的margin

    两边还会有些距离,这是body默认的. 代码: <head> <title>父子块的margin</title> <style type="text ...

  7. CSS技巧和犯错点总结

    4.14 CSS  background属性简写: background-position属性组合方式:[ left | center | right ] || [ top | bottom ] (组 ...

  8. js数组和对象互转方法

    <script> let arr = [2, 3, 4, 2, 3, 4]; // 数组转化为对象 function toObject(arr) { let obj = { } for(l ...

  9. 位运算及在java中的应用整理

    计算机编码: 原码 符号位为0表示正数,为1表示负数: 其余各位等同于真值的绝对值. 如:0000 0000 0000 0010 =2,1000 0000 0000 0010 =-2 反码 符号位的用 ...

  10. 使用sqlcmd执行连接的时候一直报有语法错误

    1.今天在使用sqlcmd进行执行连接操作的时候一直报有语法错误找了半天. 命令 sqlcmd -S 服务器名称 -U 帐户 -P 密码 示例 sqlcmd -S "LOCALHOST&qu ...