-
2020-12-19 04:58:27
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellRangeAddressList;
public class PoiTest2 {
public static void main(String[] args) throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();// excel文件对象
HSSFSheet sheetlist = wb.createSheet("sheetlist");// 工作表对象
FileOutputStream out = new FileOutputStream("d:\\success.xls");
String[] textlist = { "列表1", "列表2", "列表3", "列表4", "列表5" };
sheetlist = setHSSFValidation(sheetlist, textlist, 0, 500, 0, 0);// 第一列的前501行都设置为选择列表形式.
// sheetlist = setHSSFPrompt(sheetlist, "promt Title", "prompt Content",
// 0, 500, 1, 1);// 第二列的前501行都设置提示.
wb.write(out);
out.close();
}
/**
* 设置某些列的值只能输入预制的数据,显示下拉框.
*
* @param sheet
* 要设置的sheet.
* @param textlist
* 下拉框显示的内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFValidation(HSSFSheet sheet,
String[] textlist, int firstRow, int endRow, int firstCol,
int endCol) {
// 加载下拉列表内容
DVConstraint constraint = DVConstraint
.createExplicitListConstraint(textlist);
// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_list = new HSSFDataValidation(
regions, constraint);
sheet.addValidationData(data_validation_list);
return sheet;
}
/**
* 设置单元格上提示
*
* @param sheet
* 要设置的sheet.
* @param promptTitle
* 标题
* @param promptContent
* 内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFPrompt(HSSFSheet sheet, String promptTitle,
String promptContent, int firstRow, int endRow, int firstCol,
int endCol) {
// 构造constraint对象
DVConstraint constraint = DVConstraint
.createCustomFormulaConstraint("BB1");
// 四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_view = new HSSFDataValidation(
regions, constraint);
data_validation_view.createPromptBox(promptTitle, promptContent);
sheet.addValidationData(data_validation_view);
return sheet;
}
}
更多相关内容 -
XSSFWorkbook 设置单元格样式_如何设置Excel单元格才能只输入数字!
2020-11-22 02:17:14要实现Excel单元格仅能输入数字,只需对单元格数据有效性进行设置即可。下面将按步骤具体介绍。一、选择目标单元格如Q4,然后点击数据工具栏,选择并点击数据有限性,弹出【数据有效性】窗口。二、设置【数据有效性...要实现Excel单元格仅能输入数字,只需对单元格数据有效性进行设置即可。下面将按步骤具体介绍。
一、选择目标单元格
如Q4,然后点击数据工具栏,选择并点击数据有限性,弹出【数据有效性】窗口。
二、设置【数据有效性】
在“数据有限性”窗口中依次设置相关功能:
(1)设置:【有效性条件】选择“自定义”
(2)输入【公式】=ISNUMBER(Q4)”
(3)【输入信息】、【出错警告】、【输入法模式】等根据实际需要设置,此处以“出错警告”举例。
①【样式】选择“警告”
②【标题】输入“填写错误!”;【错误信息】输入“您在编辑区域内录入了非数字格式的字符,请重新填写!”
③确定。
三、效果展示
在Q4单元格输入非数字字符,Excel弹出【填写错误】禁止窗口,同时弹出所输入的错误信息!
『说明』如果是对某区域设置以上数据有效性,则全选该区域,然后针对首单元格设置数据有效性,其他单元格自动填充。全选区域时一定要按“从左到右”、“从上到下”、“从左上到右下”的逻辑,切不要反着选,否则设置可能无效!!!
-
java使用POI设置单元格内容下拉框选择和单元格提示功能
2020-12-28 23:35:14一、设置单元格内容下拉框选择和单元格提示功能手工设置:excel菜单栏上--数据--有效性--允许--序列,excel菜单栏上--数据--有效性--输入信息.程序设置:注意:poi的jar包最好3.9及以上。jar包版本过低可能此功能无法...一、设置单元格内容下拉框选择和单元格提示功能
手工设置:
excel菜单栏上--数据--有效性--允许--序列,
excel菜单栏上--数据--有效性--输入信息.
程序设置:
注意:poi的jar包最好3.9及以上。jar包版本过低可能此功能无法实现
样式:
代码:
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellRangeAddressList;
public class PoiTest2 {
public static void main(String[] args) throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();// excel文件对象
HSSFSheet sheetlist = wb.createSheet("sheetlist");// 工作表对象
FileOutputStream out = new FileOutputStream("d:\\success.xls");
String[] textlist = { "列表1", "列表2", "列表3", "列表4", "列表5" };
sheetlist = setHSSFValidation(sheetlist, textlist, 0, 500, 0, 0);// 第一列的前501行都设置为选择列表形式.
// sheetlist = setHSSFPrompt(sheetlist, "promt Title", "prompt Content",
// 0, 500, 1, 1);// 第二列的前501行都设置提示.
wb.write(out);
out.close();
}
/**
* 设置某些列的值只能输入预制的数据,显示下拉框.
*
* @param sheet
* 要设置的sheet.
* @param textlist
* 下拉框显示的内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFValidation(HSSFSheet sheet,
String[] textlist, int firstRow, int endRow, int firstCol,
int endCol) {
// 加载下拉列表内容
DVConstraint constraint = DVConstraint
.createExplicitListConstraint(textlist);
// 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_list = new HSSFDataValidation(
regions, constraint);
sheet.addValidationData(data_validation_list);
return sheet;
}
/**
* 设置单元格上提示
*
* @param sheet
* 要设置的sheet.
* @param promptTitle
* 标题
* @param promptContent
* 内容
* @param firstRow
* 开始行
* @param endRow
* 结束行
* @param firstCol
* 开始列
* @param endCol
* 结束列
* @return 设置好的sheet.
*/
public static HSSFSheet setHSSFPrompt(HSSFSheet sheet, String promptTitle,
String promptContent, int firstRow, int endRow, int firstCol,
int endCol) {
// 构造constraint对象
DVConstraint constraint = DVConstraint
.createCustomFormulaConstraint("BB1");
// 四个参数分别是:起始行、终止行、起始列、终止列
CellRangeAddressList regions = new CellRangeAddressList(firstRow,
endRow, firstCol, endCol);
// 数据有效性对象
HSSFDataValidation data_validation_view = new HSSFDataValidation(
regions, constraint);
data_validation_view.createPromptBox(promptTitle, promptContent);
sheet.addValidationData(data_validation_view);
return sheet;
}
}
此功能是观看了此文章实现的 可查看此网址 http://wuhaidong.iteye.com/blog/2039848
这里感谢此网址作者也帮助我解决了问题
-
XSSFWorkbook 设置单元格样式_6.6 使用单元格样式
2020-11-22 02:17:17在工作表中通常需要对单元格中的数据进行格式设置,绝大部分用户都采用手工一步一步去设置相应的格式,如下次需要在其他区域或其他工作表中设置同样的格式,又需要再进行手工设置,这样的格式设置往往十分低效,并且...在工作表中通常需要对单元格中的数据进行格式设置,绝大部分用户都采用手工一步一步去设置相应的格式,如下次需要在其他区域或其他工作表中设置同样的格式,又需要再进行手工设置,这样的格式设置往往十分低效,并且格式可能并不统一。为了规避此类问题,用户可以采用单元格样式来设置格式。单元格样式是指一系列的格式的集合,该集合可以永久的保存在工作簿中,并且可以随时调用,使用单元格样式可以快速对单元格及区域应用格式集合,从而快速设置工作表外观。
6.6.1 应用内置样式
用户要应用样式,需先选定要设置的单元格或区域。然后依次单击【开始】选项卡→【样式】按钮,在【样式】下拉列表中,内置很多预设样式,用户选定合适的样式后,单击鼠标左键即可应用此样式,如图6‑25所示。
图 6-25 Excel内置单元格样式 用户可以修改内置样式(不可以重命名),选定待修改样式,单击鼠标右键,在快捷莱单中单击【修改】命令。在打开的【样式】对话框中,可对“数字”、“对齐”、“字体”、“边框”、“填充”、“保护”等单元格格式进行修改,如图 6‑26所示。
图 6-26 修改Excel内置单元格样式 6.6.2 创建自定义样式
用户可以根据自己需求,通过新建单元格样式来创建自定义样式。
用户依次单击【开始】选项卡→【样式】→【新建单元格样式】按钮,打开【样式】对话框,在【样式】对话框中的【样式名】文本框中输入样式的名称,单击【格式】按钮,打开【设置单元格格式】对话框,设置用户所需要的格式。在【样式包括】中,用户可以选择性取消部分类别的格式设置。例如,若取消【填充】选项前面的复选框,则样式中不会包含填充色的格式,如图 6‑27所示
图 6-27 新建单元格样式 新建自定义单元格样式完成后,在样式库最上方会列出自定义样式,用户选中单元格或区域,单击自定义样式名,即可以应用该样式。
图 6-28 新建的单元格样式置于样式列表中 如表 6‑1所示。笔者创建两个单元格样式:
图 6‑29展示是某张原始的数据表,现需要分别对汉字和数字设置不同的字体格式,如果采用手工分别选择汉字和数字进行设置,效率较低。
图 6-29 原始数据 为了快速选中工作表中所有汉字,可使用定位功能,调出【定位条件】窗口,选择【常量】选项,并在下方只保留【文本】选项。按【确定】按钮后,即可以批量选中工作表中的汉字。如图 6‑30所示。
图 6-30 使用定位命令批量选中汉字 批量选中汉字后,单击【样式】中的【中文字体】,即可将预先设置的样式应用到所有汉字中。如图 6‑31所示。
图 6-31 使用单元格样式对汉字批量设置格式 同样采用定位的命令,在【定位条件】窗口中选择【常量】,只保留【数字】选项。按【确定】按钮后批量选中工作表中的数字。如图 6‑32所示。
图 6-32 使用定位命令批量选中数字 批量选中数字,单击样式菜单中的【数字字体格式】,即可批量设置数字的格式,如图 6‑33所示。
图 6-33 使用单元格样式对数字批量设置格式 图 6‑33 使用单元格样式对数字批量设置格式
提示:在实际工作中,用户可将常用的单元格格式设置成样式的集合加以保存,然后通过样式去快速设置单元格或单元格区域格式。使用样式避免了手工设置格式的繁琐、重复和低效。此外,样式具有动态更新的功能,用户应用某一样式后,若后续修改了此样式的内容,则之前应用该样式的数据区域也会动态更新。如图 6‑34所示,笔者将“中文字体格式”的字体改成楷体后,之前应用该样式的单元格也会更改字体。
图 6-34 样式更新 6.6.3 合并样式
创建的自定义样式,只会保存在当前工作簿中,用户如想转移至其他工作簿,可在其他工作簿中【样式】下拉列表库中,单击【合并样式】按钮。选择合并样式所在工作簿,按【确定】即将其他工作簿中的样式复制至当前工作簿,如图6‑35所示。
图 6-35 合并单元格样式 -
电脑Excel上单元格的日期输入范围怎么进行设置
2021-08-02 02:52:22电脑Excel上单元格的日期输入范围怎么进行设置腾讯视频/爱奇艺/优酷/外卖 充值4折起有的小伙伴在使用Excel处理数据时,需要设置单元格的日期输入范围,但是却不知道该如何进行操作,那么小编就来为大家介绍一下吧。... -
PHPExcel设置单元格值下拉选择
2021-02-01 14:05:55而在平常的使用中,我们可以设置单元格的值使用下拉选择。本文介绍如何使用PHPExcel设置单元格值下拉选择。 PHP导出Excel的准备工作,可以参考这篇文章“Think PHP5框架中实现PHP导出Excel文件”。 示例代码如下... -
XSSFWorkbook 设置单元格样式_新手入门3--表单样式设计
2020-11-22 02:17:173.8合并单元格 模板设置中为了样式协调,我们会使用到合并单元格的功能,选择要合并的区域,点击水平、垂直、或者全部合并就能够实现合并单元格。 3.9筛选 在实际业务中,如果填写内容过多,我们还可以使用筛选功能... -
如何让excel单元格内只能输入指定内容?
2018-04-11 09:45:32如何让excel单元格内只能输入指定内容? ... 1.选择需要进行限制数据的单元格,这里实例选择的是A列,限制用户只能输入A或B或C,然后点数据--数据有效性--数据有效性,会弹出数... -
Excel如何限制单元格只能输入数字?
2018-11-07 10:07:16日常工作中,excel是最常用来处理数据的工具,有时候在某一列或行中,只能输入数字,如何进行...在工作栏中,选择数据-有效性,有效性就是对单元格进行条件限制,防止输入无效的数据。 在数据有效性对话框中... -
poi设置单元格下拉下表
2018-07-17 08:14:51poi是读写excel最常用的一个开源中间件,实际使用中我们可能会遇到...2.从单元格选择下拉选项 第一种方式的缺点就是单元格字节数不能超过255个字,笔者在实际使用中输入的内容远超过这个数,所以笔者选择的是第二... -
C#中datagridview使用tooltip控件显示单元格内容的方法
2020-09-02 05:46:51主要介绍了C#中datagridview使用tooltip控件显示单元格内容的方法,实例分析了C#控件的相关使用技巧,需要的朋友可以参考下 -
excel中单元格输入内容怎么设置自动加上实线边框
2021-07-29 00:28:03excel中单元格输入内容怎么设置自动加上实线边框腾讯视频/爱奇艺/优酷/外卖 充值4折起Excel是我们常用的办公软件之一,如果想要在单元格中输入内容时,单元格的边框自动加上实线边框,该怎么办呢,下面小编介绍一下... -
【Apache POI】设置单元格字体、颜色、边框、对齐方式、Excel读取导入、解析工具类
2021-04-18 13:06:58这个工具类来源于我们项目的实践,简化了一些重复性的工作,欢迎尝试,欢迎提出问题。工具类提供了设置单元格的基本背景颜色、字体、字号、字体颜色、边框等,还实现了导入导出、磁盘读写Excel。 -
如何将Excel的单元格设置成下拉选项?-excel设置下拉菜单
2021-01-26 15:41:59有时需要限制某个字段(也叫列)的值(也叫内容),比如,只允许其在几个值是选择一下,这时如果仅仅依据制定详细的说明,依靠人的自觉性来录入,还是不够的,需要通过技术手段来进行限制,一旦输入不符合某范围的值... -
excel单元格下拉选项怎么设置_Excel单元格内容这样设置才不能被修改
2020-11-18 10:49:531,打开excel表格,对需要锁定的部分单元格进行全选,然后点击鼠标右键,在弹出来的设置功能中,选择“设置单元格格式”。(如下图)2,接着来到设置单元格格式下的“数字”属性中,点击上面主菜单中的“保护”功能... -
Excel设置数据有效性实现单元格下拉菜单的3种方法
2021-03-08 07:51:48Excel设置数据有效性实现单元格下拉菜单的3种方法一、直接输入:1.选择要设置的单元格,譬如A1单元格;2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;3.在“设置”选项中→“有效性条件”→... -
Excel 2010 VBA 入门 028 向单元格输入公式
2021-04-02 15:49:20利用Formula属性给单元格输入公式 Formula属性和Value属性的联系与区别 利用FormulaR1C1属性给单元格输入公式 R1C1引用样式的规则 (1)“绝对引用”方式 (2)“相对引用”方式 (3)“混合引用”方式 通过代码... -
Office EXCEL 表格如何设置某个单元格是选择项,如何设置一级下拉菜单
2017-10-17 21:52:561 比如我要在C这一列都做成下拉菜单,则我选中这一列的第一个单元格,然后点击数据-有效性,然后把允许改成"序列",在来源中输入每一项(用逗号隔开),比如我一共要做四个下拉菜单选项,则样式为A,B,C,D ... -
excel表格如何限制单元格输入内容
2017-08-19 15:32:00一天一天实在太快,周六了~~~ 测试任务不太紧的时候就可以着手开始整理本月的测试项目,选择的是excel,清晰...第一步,选中需要限制单元格,选择数据-有效性; 第二步,在有效性的弹出框里面设置内容; 输入... -
PHPEXCEL设置单元格下拉框(最最最全教程)
2019-12-20 16:07:01PHPEXCEL设置单元格下拉框 /** * 数据导出 * @params array $data 需要导出的数据 * @params array $header 标题栏 * @params string $filename 文件名 * @params array $spectials 需要加下拉框的单元格信息 [['... -
详解PhpSpreadsheet设置单元格 导入导出
2019-12-13 08:48:21PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到。 在thinkphp中引入该三方库的方法: ... -
在excel单元格超过字数限制的设置方法 excel单元格字数限制
2021-03-07 20:17:09在excel单元格超过字数限制的设置方法 excel单元格字数限制,这个问题是我们很多人都很困惑的一个问题,excel单元格字数限制是我们非常常用的一个东西,也是我们工作和学习中必不可少的一个数据公式,那么具体我们要... -
EXCEL单元格中设置下拉框选项
2018-09-30 16:11:31第三步:选择在下拉框里需要显示的数据,右键出现选项框,选择命名单元格区域 第四步:弹出的框里面的名称随便填,引用位置不变,=Sheet2!$A$2:$A$3要记下来,下面要用,最后点确定 第五步:回到shee... -
设置单元格(其二)
2020-02-02 16:38:53想要将3 1/2设置为7/2:则先完成输入3 1/2,再设置单元格格式——自定义——将#去掉即可 科学计数法 想要将大的数字进行科学计数法,则选中数字,设置单元格格式——数字——科学计数法——选择小数位数 E+8意为10... -
数据有效性 设置单元格格式 保护工作表
2015-03-23 11:53:04EXCEL表中被限制的单元格输入无效数据时,会出现「输入值非法,其它用户已经限定了可以输入该单元格的数值」 修改设置方法:「数据」菜单→「有效性」→设置单元格输入内容的类型或范围、各种提示。 ①设置→... -
Office EXCEL 表格如何设置某个单元格是选择项,如何设置二级下拉菜单 WPS版
2017-03-27 11:30:003 只选择第一列,因为这些事一级菜单,然后点击名称管理器,在弹出的窗口中输入名字,比如叫做Total,然后点击确定。 4 再次打开名称管理器,然后可以发现现在一共有五组名称,我... -
EXCEl中如何设置单元格的下拉列表及背景颜色设置
2017-12-27 11:51:251、选中单元格,点击数据-数据有效性 2、设置中有效性条件,允许-序列,勾选 提供空值 和提供下拉箭头 3、来源中可手动输入需要的值,中间以英文状态下的逗号隔开