如何使用 Java 在Excel中创建下拉列表

下拉列表(下拉框)可以确保用户仅从预先给定的选项中进行选择,这样不仅能减少数据输入错误,还能节省时间提高效率。在MS Excel中,我们可以通过 “数据验证” 提供的选项来创建下拉列表,但如果要在Java程序中通过代码实现这一功能,可能需要借助一些第三方库。本文将分享两种使用免费Java库在Excel中创建下拉列表的方法。

操作Excel的免费Java控件:Free Spire.XLS for Java. (下载后手动引入jar包或者通过Maven仓库安装均可)

方法一:基于字符串数组中的值来创建Excel下拉列表

该方法是通过 Free Spire.XLS for Java 提供的 IDataValidation 接口下的 setValue() 方法先定义一个字符串数组作为列表项,然后再通过将 isSuppressDropDownArrow() 方法的参数设置为false 来应用下拉箭头。

该方法就等同于在Excel “数据验证” 选项中的 “来源” 中直接输入一串内容作为列表项。

代码:

import com.spire.xls.*;
import java.awt.*;public class ExcelDropdownList {public static void main(String[] args) {//创建Workbook对象Workbook workbook = new Workbook();//获取第一张工作表Worksheet sheet = workbook.getWorksheets().get(0);//在指定单元格中添加文本sheet.getCellRange("B2").setValue("职员");sheet.getCellRange("B3").setValue("张三");sheet.getCellRange("C2").setValue("部门");//设置字体和单元格样式sheet.getCellRange("B2:C2").getStyle().getFont().isBold(true);sheet.getCellRange("B2:C2").getStyle().getFont().setColor(Color.BLUE);sheet.getCellRange("B2:C3").getStyle().getFont().setSize(11);sheet.getCellRange("B2:C3").setRowHeight(18);sheet.getCellRange("B2:C3").setColumnWidth(12);//设置下拉列表的值sheet.getCellRange("C3").getDataValidation().setValues(new String[]{"财务部", "采购部", "销售部", "行政部"});//在指定单元格中创建下拉列表sheet.getCellRange("C3").getDataValidation().isSuppressDropDownArrow(false);//保存结果文件workbook.saveToFile("Excel下拉列表.xlsx", ExcelVersion.Version2013);}
}

 

方法二:基于单元格区域的内容来创建Excel下拉列表

该方法是通过 Validation 类的 setDataRange() 方法指定一个单元格区域中的内容作为下拉列表的数据源。该方法更加灵活,创建后如果你想更新下拉列表的选项,直接更新单元格中的数据即可。效果如图:

代码:

import com.spire.xls.*;
import java.awt.*;public class DropdownList {public static void main(String[] args) {//创建Workbook对象Workbook workbook = new Workbook();//获取第一张工作表Worksheet sheet = workbook.getWorksheets().get(0);//在指定单元格中添加文本sheet.getCellRange("B2").setValue("职员");sheet.getCellRange("B3").setValue("张三");sheet.getCellRange("C2").setValue("部门");sheet.getCellRange("A11").setValue("财务部");sheet.getCellRange("A12").setValue("采购部");sheet.getCellRange("A13").setValue("销售部");sheet.getCellRange("A14").setValue("行政部");//设置字体和单元格样式sheet.getCellRange("B2:C2").getStyle().getFont().isBold(true);sheet.getCellRange("B2:C2").getStyle().getFont().setColor(Color.BLUE);sheet.getCellRange("B2:C3").getStyle().getFont().setSize(11);sheet.getCellRange("B2:C3").setRowHeight(18);sheet.getCellRange("B2:C3").setColumnWidth(12);//将指定的单元格区域的内容作为数据源来创建下拉列表sheet.getCellRange("C3:C4").getDataValidation().setDataRange(sheet.getCellRange("A11:A14"));//保存结果文件workbook.saveToFile("Excel下拉列表2.xlsx", ExcelVersion.Version2013);}
}

 

免费Free Spire.XLS for Java库支持多种Excel操作功能,但同时也存在一些限制。

了解功能点击:免费Java Excel组件中文教程icon-default.png?t=N7T8https://www.e-iceblue.cn/spirexlsforjava/spire-xls-for-java-program-guide-content.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/175882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql账户密码获取

数据库安装目录 MySQL\data\mysql 里面的user.MYD文件,需要编译查看 数据库里的user表 库下面的user表拿到后,直接解密密码即可 网站配置文件 conn、config、data、sql、common 、inc这些文件 比如pikachu\inc目录下的config.inc.php文件的内容会显示…

速通CSAPP(一)计算机系统漫游入门

CSAPP学习 前言 一门经典的计组课程,我却到了大四才学。 anyway,何时都不会晚。 博主参考的教程:本电子书信息 - 深入理解计算机系统(CSAPP) (gitbook.io),非常感谢作者的整理。 诚然去看英文版可以学…

【开源】基于Vue和SpringBoot的木马文件检测系统

项目编号: S 041 ,文末获取源码。 \color{red}{项目编号:S041,文末获取源码。} 项目编号:S041,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 木马分类模块2.3 木…

软著项目推荐 深度学习中文汉字识别

文章目录 0 前言1 数据集合2 网络构建3 模型训练4 模型性能评估5 文字预测6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习中文汉字识别 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&#xf…

【Vue】Linux 运行 npm run serve 报错 vue-cli-service: Permission denied

问题描述 在Linux系统上运行npm run serve命令时,控制台报错: sudo npm run serve project50.1.0 serve vue-cli-service serve sh: 1: vue-cli-service: Permission denied错误截图如下: 原因分析 该错误是由于vue-cli-service文件权限不…

线性转换函数S_RTR(SCL和ST代码)

模拟量转换函数S_ITR详细公式和算法源代码请查看下面文章链接: PLC模拟量输入 模拟量转换FC S_ITR_博途模拟量转换程序_RXXW_Dor的博客-CSDN博客文章浏览阅读5.4k次,点赞4次,收藏7次。模拟量采集、工业现场应用特别广泛、大部分传感器的测量值和输出信号都是线型关系,所以…

Rocky Linux 9.3 为 PowerPC 64 位带回云和容器镜像

RHEL 克隆版 Rocky Linux 9.3 今天发布了,作为红帽企业 Linux 发行版 CentOS Stream 和 Red Hat Enterprise Linux 的免费替代版本,现在可供下载。 Rocky Linux 9.3 是在 Rocky Linux 9.2 发布 6 个月之后发布的,它带回了 PowerPC 64 位 Lit…

4D雷达目标检测跟踪算法设计

1.算法流程 4D雷达点云跟踪处理沿用3D毫米波雷达的处理流程,如下图: 从接收到点云开始,先对点云做标定、坐标转换、噪点剔除、动静分离,再分别对动态目标和静态目标做聚类,然后根据聚类结果做目标的特征分析和检测等&a…

leetcode42接雨水问题

接雨水 题目描述 题目分析 核心思想: 代码 java版本: package com.pxx.leetcode.trapRainWaterDoublePoniter;public class Solution1 {public int trap(int[] height) {if (height.length 0) {return 0;}int n height.length;int left 0;int righ…

LabVIEWL实现鸟巢等大型结构健康监测

LabVIEWL实现鸟巢等大型结构健康监测 管理国家地震防备和减灾的政府机构中国地震局(CEA)选择了七座新建的巨型结构作为结构健康监测(SHM)技术的测试台。这些标志性建筑包括北京2008年夏季奥运会场馆(包括北京国家体育场和北京国家游泳中心)、上海104层的…

Eureka简单使用做微服务模块之间动态请求

创建一个eureka模块,引入eureka 为启动项加上EnableEurekaServer注解 配置信息 orderService和userService的操作是一样的 这里以orderService为例: 引入eureka客户端 加上 LoadBalanced注解 配置 orderService和userService都配置好了之后 启动 这样我们在http://localhos…

Python实现FA萤火虫优化算法优化循环神经网络分类模型(LSTM分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法(Fire-fly algorithm,FA)由剑桥大学Yang于2009年提出 , …

【读懂AUTOSAR】DoIP模块(1)-- 使用场景和链接的建立规范

引子 --什么是?为什么使用DoIP? DoIP就是通过IP进行诊断的意思(Diagnostic Over IP)。我们熟悉的诊断都是通过CAN总线的啊,为什么要通过IP?IP是什么? IP就是Internet Protocol,就是”互联网协议“啦! 那DoIP就是通过互联网进行的诊断喽,也可以叫做“基于以太网的诊…

单片机学习11——矩阵键盘

矩阵键盘: 这个矩阵键盘可以接到P0、P1、P2、P3都是可以的。 使用矩阵键盘是能节省单片机的IO口。 P3.0 P3.1 P3.2 P3.3 称之为行号。 P3.4 P3.5 P3.6 P3.7 称之为列号。 矩阵键盘检测原理: 1、检查是否有键按下; 2、键的抖动处理&#xf…

阿里云服务器购买价格,云服务器与轻量应用服务器最新购买活动价格汇总

阿里云服务器租用价格是多少?不同时期阿里云服务器的租用价格不同,目前阿里云轻量应用服务器与云服务器优惠价格也有所变化,目前轻量应用服务器还是87元1年起,经济型e实例云服务器99元1年起,通用算力型u1云服务器643.6…

Flink CDC -Sqlserver to Sqlserver java 模版编写

1.基本环境 <flink.version>1.17.0</flink.version> 2. 类文件 package com.flink.tablesql;import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.flink.streaming.api.environment.StreamExecutionEnviro…

护眼灯值不值得买?国AA级别标准的护眼台灯推荐

在中国&#xff0c;近视人口占全国总人数的30%左右。中全国患近视眼的总数达到3.6亿。城市近视人口的近视率达到33%。其中&#xff0c;大学生的近视率是最高的&#xff0c;达到了75&#xff05;左右。中学生的近视率大约为50&#xff05;。在校佩戴眼镜的小学生比例为30&#x…

开始使用Spring Boot Admin吧-使用Nacos注册SBA

什么是 Spring Boot Admin&#xff08;SBA&#xff09;? Spring Boot Admin 是 codecentric 公司开发的一款开源社区项目&#xff0c;目标是让用户更方便的管理以及监控 Spring Boot 应用。 应用可以通过我们的Spring Boot Admin客户端&#xff08;通过HTTP的方式&#xff0…

GaussDB数据库SQL系列-触发器

目录 一、前言 二、触发器概念 三、GaussDB数据库中的触发器 1、语法格式 2、创建步骤 3、注意事项 4、附&#xff1a;表和视图上支持的触发器种类 四、GaussDB数据库中的示例 示例一、在GaussDB数据库中创建一个触发器&#xff0c;以便在插入新记录时自动将记录的创建…

论文笔记--Toolformer: Language Models Can Teach Themselves to Use Tools

论文笔记--Toolformer: Language Models Can Teach Themselves to Use Tools 1. 文章简介2. 文章概括3 文章重点技术3.1 Toolformer3.2 APIs 4. 文章亮点5. 原文传送门 1. 文章简介 标题&#xff1a;Toolformer: Language Models Can Teach Themselves to Use Tools作者&#…