社区
Java SE
帖子详情
使用jxl生成两级动态下拉菜单
yzyz0812
2014-09-24 02:24:00
我有一个excel表,想用jxl读取人名那一列和商店名称的那一列,制作一个动态的下拉菜单,但是人名和商店名都是会变化的,这样怎么实现呢?下拉菜单想实现类似于淘宝填收货地址那样的样式
...全文
185
3
打赏
收藏
使用jxl生成两级动态下拉菜单
我有一个excel表,想用jxl读取人名那一列和商店名称的那一列,制作一个动态的下拉菜单,但是人名和商店名都是会变化的,这样怎么实现呢?下拉菜单想实现类似于淘宝填收货地址那样的样式
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yzyz0812
2014-09-24
打赏
举报
回复
我需要的菜单是在Java中做,不是在Excel里
ghx287524027
2014-09-24
打赏
举报
回复
目前2003和2007的下拉表其实只是到32766个,范围再高也没有用了。 方法需要sheet,要做下拉的单元格,以及打算放置数据的单元格,还有数据了。 返回的是截止点的下个单元格的位置,可以为下个单元格放置数据。 另外,jxl不支持2007,但poi支持而且做这个也简单
ghx287524027
2014-09-24
打赏
举报
回复
/** * @param sheet * @param target 要设置数据验证性的单元格位置 * @param current 要存放验证性数据的单元格位置 * @param step * @param data * @return */ private static int[] buildDataValidationCell(WritableSheet sheet, int[] target, int[] current, List<String> data) { try { if (data.size() == 0) return current; List<String> strings = new ArrayList<String>(); for (String d : data) { if (d!= null&& !"".equals(d.trim())) strings.add(d); } if(strings.size()>65535) throw new RuntimeException("excel2003单列上限,数据验证只能使用单列或单行"); //excel2003上限是65535,所以隐藏的行数超过5w就换另外一列, //列上限是255。暂时不考虑行列都到上限的情况 if (current[1] > 50000 ||(current[1] > 50000 && strings.size()>15535)) { current[0] = current[0] + 1; current[1] = 0; } //构建下拉数据范围 buildDataValidationRange(sheet, target, current, strings); //设置隐藏 CellView cv = new CellView(); cv.setHidden(true); sheet.setColumnView(current[0], cv); //填充数据 for (String s : strings) { Label b = new Label(current[0], current[1], s); sheet.addCell(b); current[1] += 1; } } catch (RowsExceededException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } return current; } //构建下拉数据范围 private static void buildDataValidationRange(WritableSheet sheet, int[] target, int[] current, List<String> strings) throws WriteException, RowsExceededException { WritableCellFeatures wcf = null; Label targetCell = new Label(target[0], target[1], strings.get(0));//数据验证初始cell wcf = new WritableCellFeatures(); StringBuffer buff = new StringBuffer();//数据验证范围 CellReferenceHelper.getCellReference(current[0] , true,current[1], true, buff);//起点 buff.append(":"); CellReferenceHelper.getCellReference(current[0] , true,current[1] + strings.size() - 1, true, buff);//终点 wcf.setDataValidationRange(buff.toString());//设置数据验证性 targetCell.setCellFeatures(wcf); sheet.addCell(targetCell); }
Python 寄存器位域解析与 JSON 配置工具(芯片开发+寄存器/位域+解析源码+寄存器转储分析)
根据 JSON 指定位宽和字段起止位,解析寄存器数值并显示枚举含义。包含重叠字段、重复名称、位范围和输入数值检查。 适用于嵌入式软件开发人员、驱动开发入门者及相关技术学习者。资源包含源码或模板、
使用
说明及验证范围说明。Python 3.10+,仅
使用
标准库;寄存器宽度 1 至 64 位。 功能边界见 README.md,实际验证情况见 TESTING.md。
MATLAB实现的
两级
OPF与电动车充电调度,用于配电网络.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
UAC白名单设置-软件
使用
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 用户账户控制(UAC)白名单的配置 Windows7环境中 UAC(User Account Control,用户帐户控制)是由微软在Windows Vista版本中推出的一项旨在增强系统安全性的创新技术,该技术强制要求用户在执行可能干扰计算机正常运作的操作或进行更改会波及其他用户设置的变动前,必须提供相应的权限或管理员密码进行验证。通过对这些操作启动前进行授权确认,UAC能够有效阻止恶意软件及间谍软件在未获授权的状态下于计算机内进行安装或实施修改。 自从Vista版本问世以来,微软便开始推行这一全新的安全机制,可视为对系统安全防护的显著提升。尽管UAC确实能够在一定程度上对某些非法程序起到防御作用,但与此同时,这一功能也给众多用户带来了诸多不便。 因此,许多用户开始探寻是否存在类似于白名单的功能,以便将那些值得信赖的程序直接赋予运行权限。事实上,这类功能确实存在,不过微软并未将其作为标准配置提供。 网络上关于此问题的绝大多数建议都是建议禁用UAC,这种说法显然缺乏针对性,因为若用户希望禁用此功能,本就不会提出相关疑问。 通过运用微软官方发布的Microsoft Application Compatibility Toolkit 5.6版本,可以将信任的程序纳入系统白名单范畴。 获取Application Compatibility Toolkit 安装程序成功后会出现三个可执行文件 以管理员身份启动Compatibility Administrator 在Custom DataBases部分创建新的数据库,并添加一个Application Fix(在下方空白处点击右键,选择...
DELL服务器操作系统安装
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 DELL服务器的操作系统部署流程包含一系列细致的环节,其适用范围涵盖多种操作系统类型,例如Windows Server与Red Hat Linux等。在启动部署之前,必须确认服务器的光驱设备为DVD驱动器,并且需准备对应的系统安装媒介。下面将详细列出完整的部署步骤: 1. **启动准备**:将随服务器提供的Systems Management Tools and Documentation version 6.0光盘置入服务器光驱,随后设定服务器以光驱作为启动设备。此环节旨在确保服务器在启动阶段能够读取安装光盘内容。 2. **语言设定**:服务器启动后,选定简体中文作为部署语言,并确认接受许可协议条款。 3. **时区选择**:在部署期间,需设定时区为北京、香港、重庆或乌鲁木齐,依据实际地理位置进行适配选择。 4. **系统类型选择**:随后,需选定计划部署的操作系统,支持的版本包括Server 2003 SP2、Server 2003 SP2 64位版本、Windows 2003 SBS SP2、Server 2008、Windows 2008 SBS/EBS x64版本等,以及多种Red Hat和SUSE Linux版本。 5. **RAID设定**:若服务器出厂时已预设RAID配置,则可选择跳过此步骤。若需重新设定RAID,操作时需格外小心,因为这一过程可能引发硬盘数据遗失。 6. **引导分区规划**:设定引导分区的大小,通常C盘建议预留至少20GB的空间,具体容量需根据系统需求进行调整。 7. **网络设定**:网络设定可在系统部署完成后执行,部署期间建议暂时拔除...
老人自动接视频appp
老人自动接视频app的
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章