精华内容
下载资源
问答
  • POI设置单元格内容下拉框选择单元格提示功能

    转载:http://www.cnblogs.com/duguheilang/p/5282460.html

    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;
        }

    }

    展开全文
  • 一、设置单元格内容下拉框选择单元格提示功能 手工设置: excel菜单栏上--数据--有效--允许--序列, excel菜单栏上--数据--有效--输入信息. 程序设置: 注意:poi的jar包最好3.9及以上。...

    一、设置单元格内容下拉框选择和单元格提示功能

    手工设置:

    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

    这里感谢此网址作者也帮助我解决了问题

    展开全文
  •  EXCEL表中被限制的单元格输入无效数据时,会出现「输入值非法,其它用户已经限定了可以输入单元格的数值」 修改设置方法:「数据」菜单→「有效」→设置单元格输入内容的类型或范围、各种提示。 ①设置→...
    【数据有效性】

      1)限制单元格的有效性:限定单元格中输入的数值范围,使用Excel的工具「限制单元格的有效性」来实现快速准确地输入数据。
      EXCEL表中被限制的单元格输入无效数据时,会出现「输入值非法,其它用户已经限定了可以输入该单元格的数值」
      修改设置方法:「数据」菜单→「有效性」→设置单元格输入内容的类型或范围、各种提示。

      ①设置→允许→序列:下拉箭头▼,单击就会弹出下拉框可选数据列表;
      ①输入信息:选定单元格时显示输入信息;
      ②出错警告:出入无效数据时,显示警告;
      ③输入法模式:随意、打开、关闭(英文模式)

      例子:身份证号既有15位又有18位,如果我们希望在某个区域内输入数据时,数据长度只能等于15或18位,那么就要用到下图中的设置:
      先选中一系列单元格,然后单击数据—>有效性,在「允许」下选择「自定义」,在「公式」中填:
      =or(len(点击选中区域的第一个单元格)=15,len(点击选中区域的第一个单元格)=18)

      ①按钮「圈释无效数据」→用红圈突出显示非有效性的数据,这些圈只能在电脑中显示出来并不能打印出来。
      ②想把它打印出来,需要转换为图片:「开始」菜单→「粘贴」→「以图片格式」→「复制为图片」或「粘贴为图片」

    【设置单元格格式】

      2)设置单元格格式:可以设置数据的个显示格式
      右键→设置单元格格式(快捷键Ctrl+1)→数字的各种格式(小数位数等)、对齐、字体、边框、填充、保护(锁定和隐藏)
      ①锁定:防止所选单元格被更改、移动、调整大小或删除。只有在工作表受保护时锁定单元格才有效。
      ②隐藏:隐藏单元格中的公式,以便在选中该单元格时编辑栏中不显示公式。此选项只有在工作表受保护时才有效。


    【保护工作表】

      3)锁定单元格中的公式
      ①先在工作表左上角行、列交汇处单击鼠标,选定整个工作表。
      ②打开打开「单元格格式」对话框,进入「保护」标签,清除「锁定」前面复选框中的「∨」号,确定退出(解除对整个工作表的锁定)。
      ③执行「编辑→定位」命令(或直接按「Ctrl+G」组合键,或按F5功能键),打开「定位」对话框,单击「定位条件」按钮,在弹出的「定位条件」对话框中,选中「公式」选项后,确定退出,选中工作表中所有包含公式的单元格。
      ④再次进入「保护」标签,在「锁定」选中前面的复选框中加上「∨」号,确定退出。
      ⑤执行「工具→保护→保护工作表」命令,打开「保护工作表」对话框,输入密码(密码需要确认一次)后确定退出,公式就被锁定而不能修改了。

      4)将公式隐藏起来
      单元格中输入公式后,在单元格中显示的是运算结果,而当我们选中该单元格时,在编辑栏中就显示出了公式的具体内容。如果不想让别人看见具体的公式内容,可以将其隐藏起来:
      ①用上面的方法,选中所有包含公式的单元格。
      ②进入「保护」标签,在「隐藏」选中前面的复选框中加上「∨」号,确定退出。
      ③再用上面的方法「保护工作表」,公式的具体内容就被隐藏起来了。

      如果你想修改公式的内容,或者要显示出公式的具体内容,需要执行「工具→保护→撤销保护工作表」命令,输入密码解除保护。
    展开全文
  • poi设置单元格下拉下表

    千次阅读 2018-07-17 08:14:51
    poi是读写excel最常用的一个开源中间件,实际使用中我们可能会遇到...2.从单元格选择下拉选项 第一种方式的缺点就是单元格字节数不能超过255个字,笔者在实际使用中输入的内容远超过这个数,所以笔者选择的是第二...

    poi是读写excel最常用的一个开源中间件,实际使用中我们可能会遇到这样的需求:限制某列单元格只能输入特定的内容,这就是excel的下拉列表特性,以下是wps中excel的一个截图:

    从上图可以看出,维护下拉选项有两种方式:

    1.手动添加下拉选项

    2.从单元格选择下拉选项

    第一种方式的缺点就是单元格字节数不能超过255个字,笔者在实际使用中输入的内容远超过这个数,所以笔者选择的是第二种方案,笔者新建了一个sheet,在这个sheet中某列输入实际需要的下拉列表内容(可以动态插入),比如省市,然后隐藏这个sheet即可,这样用户在使用过程中就可以根据这个模板文件输入限制的内容。下面就贴实际使用过程中分代码:

                String strFormula = "sheet名字!$A$1:$A$100";
                XSSFDataValidationConstraint constraint = new XSSFDataValidationConstraint(ValidationType.LIST,strFormula);
                // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
                CellRangeAddressList regions = new CellRangeAddressList(0,800, 12, 12);
                // 数据有效性对象
                DataValidationHelper help = new XSSFDataValidationHelper((XSSFSheet)sheet);
                DataValidation validation = help.createValidation(constraint, regions);
                sheet.addValidationData(validation);

    上面的代码就可以实现exel的下拉列表选择功能,而且不限制下拉列表长度!!

    展开全文
  • 设置单元格(其二)

    2020-02-02 16:38:53
    想要将3 1/2设置为7/2:则先完成输入3 1/2,再设置单元格格式——自定义——将#去掉即可 科学计数法 想要将大的数字进行科学计数法,则选中数字,设置单元格格式——数字——科学计数法——选择小数位数 E+8意为10...
  • easyExcel 设置单元格时间格式的有效验证 设置单元格时间格式的有效验证示例 // 检查的区域 new CellRangeAddressList(-1, -1, 3, 4); 表示第四行整列 CellRangeAddressList cellRangeAddressList = new ...
  • 这篇blog讨论的事儿, 是关于使用Excel, 如何根据一个单元格的用户输入值, 自动设置另一个单元格的值.   这个需求最开始的动机是这样的, 我们需要维护一个员工表, 员工便上面有员工所属于的部门名, 以及这个部门...
  • 如何让excel单元格内只能输入指定内容? ... 1.选择需要进行限制数据的单元格,这里实例选择的是A列,限制用户只能输入A或B或C,然后点数据--数据有效--数据有效,会弹出数...
  • 1、选中单元格,点击数据-数据有效 2、设置中有效条件,允许-序列,勾选 提供空值 和提供下拉箭头 3、来源中可手动输入需要的值,中间以英文状态下的逗号隔开
  • PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到。 在thinkphp中引入该三方库的方法: ...
  • Excel如何限制单元格只能输入数字?

    千次阅读 2018-11-07 10:07:16
    日常工作中,excel是最常用来处理数据的工具,有时候在某一列或行中,只能输入数字,如何进行...在工作栏中,选择数据-有效,有效就是对单元格进行条件限制,防止输入无效的数据。 在数据有效对话框中...
  • PHPEXCEL设置单元格下拉框 /** * 数据导出 * @params array $data 需要导出的数据 * @params array $header 标题栏 * @params string $filename 文件名 * @params array $spectials 需要加下拉框的单元格信息 [['...
  • 1 比如我要在C这一列都做成下拉菜单,则我选中这一列的第一个单元格,然后点击数据-有效,然后把允许改成"序列",在来源中输入每一项(用逗号隔开),比如我一共要做四个下拉菜单选项,则样式为A,B,C,D ...
  • 2、解决1后未满足需求3,即在导出的Excel中直接编辑新行是提示写保(原因是Excel单元格默认是锁定状态,而保护工作表是保护的锁定的单元格),思路:直接操作列 3、解决2后,发现直接编辑新行时下拉框
  • 前篇文章我们介绍了一下Excel中如何设置数据有效以及COUNTIF函数的用法,这篇文章主要介绍有重复数据时如何统计不重复数据的个数以及通过数据有效设置单元格不允许出现重复数据。 统计单列不重复的个数 如下...
  • 在使用excel的过程中,有时需要在输入数字时,突出显示这些单元格,突出显示可以用有填充颜色的单元格来表示。为了实现这样的效果,需要借助excel的条件格式。 工具/原料 电脑 Excel ...
  • 1 做好一级菜单和二级... 3 只选择第一列,因为这些事一级菜单,然后点击名称管理器,在弹出的窗口中输入名字,比如叫做Total,然后点击确定。  4 再次打开名称管理器,然后可以发现现在一共有五组名称,我
  • 1 做好所有的一级和二级菜单,比如下面第一行都是一级菜单,而每一行下面的所有都是属于他的二级菜单(为了更加直观,我把一级菜单都加粗了,而且... 3 选中所有的一级菜单(我当前是从A1到D1的这些单元格),然后点击
  • 选择一个或多个要进行验证的单元格。 在“数据”选项卡上的“数据工具”组中,单击“数据有效”。 在“数据有效”对话框中,单击“设置”选项卡。 在“允许”框中,选择“序列”。单击“来源”框,然后...
  • 单元格下拉框设置 1).选择设置单元格,譬如A1单元格;...在“设置”选项中→“有效条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据,譬如“1
  • 在“设置”选项中→“有效条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据,譬如“1,2,3,4,5,6,7,8,9”(不包括双引号,分割符号“,”必
  • 一、数据验证概述 ...通过验证条件允许,可以看到是每个单元格默认只成立一种条件 1.2、POI代码开发-数据验证 1.2.1、两个数之间 public void excelRuleNumberBetween(Sheet sheet, int min, ...
  • Excel单元格设置成下拉选

    千次阅读 2018-08-09 09:29:09
    2.选择选项卡,“数据”--“有效”,“允许”选择“序列”,在“来源”中输入下拉选的选项,注意:选项之间用英文逗号隔开。 3.结果如下: 4.如果不用英文逗号隔开,结果如下: 发表内容纯属个人总结,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,470
精华内容 10,588
关键字:

怎么设置单元格选择性输入