PHPExcel设置单元格值下拉选择
在PHP中,我们可以使用PHPExcel导出excel。而在平常的使用中,我们可以设置单元格的值使用下拉选择。本文介绍如何使用PHPExcel设置单元格值下拉选择。
PHP导出Excel的准备工作,可以参考这篇文章“Think PHP5框架中实现PHP导出Excel文件”。
示例代码如下(主要用到setFormula1方法):
/*** 单元格值设置下拉选择*/ function exportFormula() {// 初始化PHPExcel对象vendor("PHPExcel.PHPExcel");$objPHPExcel = new \PHPExcel();$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');// 表头$xlsCell = array(array('id', 'id'),array('name', '姓名'),array('sex', '性别'),);for ($i = 0; $i < count($xlsCell); $i++) {$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '1', $xlsCell[$i][1]);}// 示例数据$datas = [['id' => 1, 'name' => 'neil', 'sex' => '男']];$sex = array('1' => '男', '2' => '女');for ($i = 0; $i < count($datas); $i++) {$index = 0;foreach ($datas[$i] as $k => $v) {if ($k != 'sex') {$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$index] . ($i + 2), $v);} else {// 设置性别单元格的值下拉$list = implode(',', $sex);$objValidation1 = $objPHPExcel->getActiveSheet(0)->getCell($cellName[$index] . ($i + 2))->getDataValidation();$objValidation1->setType(\PHPExcel_Cell_DataValidation::TYPE_LIST)->setErrorStyle(\PHPExcel_Cell_DataValidation::STYLE_INFORMATION)->setAllowBlank(false)->setShowInputMessage(true)->setShowErrorMessage(true)->setShowDropDown(true)->setErrorTitle('输入的值有误')->setError('您输入的值不在下拉框列表内.')->setPromptTitle('')->setPrompt('')->setFormula1('"' . $list . '"'); // 设置为变量内容$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$index] . ($i + 2), $v);}$index++;}}// 下载文件到浏览器客户端$title = '家庭成员表';$xlsTitle = iconv('utf-8', 'gb2312', '家庭成员表'); // 文件标题header('pragma:public');header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');header("Content-Disposition:attachment;filename=$title.xls");$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('php://output');exit; }
PHPExcel设置单元格值下拉选择相关推荐
- 阿里easyExcel -- excel下载/导出/读取 (单元格自定义下拉选择、不支持图片)
主要包 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency><gro ...
- php利用表格敬将所选择的数据显示出来,单元格下拉筛选设置/Excel对筛选后的单元格进行下拉填充...
EXCEL里怎样让一个单元格能有下拉菜单? 要设置下拉菜单的单元格(或格区)----数据---有效---"允许"中选择"序"---"来源"中 ...
- 单元格只能下拉框选_excel给单元格添加下拉菜单列表无需按键盘用鼠标选择即可...
excel给单元格添加下拉菜单列表无需按键盘用鼠标选择即可 时间:2013-12-08 作者:snow 来源:互联网 为了方便快速的输入数据,通常情况下我们会给单元格添加一个下拉菜单,如此一来 ...
- 基于java + easyExcel实现模板填充生成动态模板并设置指定单元格为下拉框样式
需求描述:java后端开发过程中,为了满足动态生成excel模板并设置指定单元格为下拉框,且下拉框的数据项来源为动态查询的需求,在基于easyExcel的情况下,使用模板填充的方式,完成该需求. 1. ...
- 如何让图片充满excel单元格_如何在Excel单元格建立下拉菜单
对于一些常用的数据我们往往会希望能够尽量快速的输入,下拉菜单就是一个最简单的解决办法.那么如何实现下拉菜单呢?跟随以下步骤,建立属于自己的下拉菜单吧! 如何建立下拉菜单? 一.确定内容:在单元格中,输 ...
- ag-grid 单元格编辑-下拉框
一.基本下拉框 效果如下: 选中后的值直接就是界面显示的值(也是代码中定义的值).效果如下: 二.有id 的下拉框 这个下拉框跟平常用的select 框类似,设置id和value,在界面选择的时候显示 ...
- layui表格单元格添加下拉选择功能
layui表格单元格添加下拉选择功能 1.修改表头 2.更新数据 3.修改样式 代码如下: <style>/*表格单元格里显示下拉框,添加后样式不对,需要自己调整一下样式使得下拉框与单元格 ...
- EasyExcel 实现单元格数据下拉选
EasyExcel 实现单元格数据下拉选 前言 easyExcel导出模板的时候,固定的某个列我们有固定的是选项值的时候,我们需要将excel的单元格做成下拉选的情况:满足实际的业务需求. 实现 1. ...
- Excel怎样操作给单元格添加下拉选项?分享经验!如何给Excel单元格加入下拉列表?
Excel作为一款电子表格软件,现已成为我们大家记录数据.处理数据中使用最为频繁的软件,我们大家在整理数据中为了简便快捷的使用,会想要在单元格中添加一个下拉菜单,这样会让我们的使用更加方便,那么下面小 ...
最新文章
- Java并发:分布式应用限流 Redis + Lua 实践
- Mysql里的日期类型 和JPA里@Temporal
- NoSQL 非关系数据库
- 【转载】Swift属性Property
- 通过PL/SQL developer工具访问远程的Oracle数据库_访问数据库_连接数据库_登录数据库
- 什么是Docker?看这一篇干货文章就够了!
- 页眉中字数未满但自动换行
- Matlab 图像预处理
- sql server 2000 更改账户默认数据库
- 学习总结之 WebApi 用户登录和匿名登录,及权限验证
- java中的UDP总结
- 集成电路设计的运作模式
- matlab uicontrol 下标,Matlab Impoint和Uicontrol
- 关于java中JDBC读取字段属性原理
- Spring配置解析之Component-scan解析
- 淘宝用户日志数据集的用户行为分析与用户分群
- ienumerable vs iqueryable异常
- 题解 CF133A 【HQ9+】
- 风之语.惊闻周星驰电影票房超过30亿RMB
- 惠普ipaq蓝牙键盘配对码_将旧的Compaq Ipaq从Ubuntu 5.10 Breezy Badger升级到8.10 Intrepid Ibex...