精华内容
下载资源
问答
  • 如何设置excel下拉选项
    千次阅读
    2017-11-24 14:13:03

    最近在做一个导出模板的功能,需要限制用户的某些单元格输入的内容。

    期望达到的效果:单元格中出现下拉选择,或输入错误时提示。

    翻阅了许多资料,终于得到了答案。

    然后自己整理下边一些方法,记录下来方便以后使用。


    第一种

    · 直接设置下拉值,不超过255个字符(优点:逻辑简单 ;缺点:有字符限制)

    · 适用于下拉值为固定值,例如:状态、性别等

    方法块:

    public static void SetCellDropdownList(ISheet sheet, int firstcol, int lastcol, string[] vals)
    {
         //设置生成下拉框的行和列
         var cellRegions = new CellRangeAddressList(1, 65535, firstcol, lastcol);
    
         //设置 下拉框内容
         DVConstraint constraint = DVConstraint.CreateExplicitListConstraint(vals);
    
         //绑定下拉框和作用区域,并设置错误提示信息
         HSSFDataValidation dataValidate = new HSSFDataValidation(cellRegions, constraint);
         dataValidate.CreateErrorBox("输入不合法", "请输入或选择下拉列表中的值。");
         dataValidate.ShowPromptBox = true;
    
         sheet.AddValidationData(dataValidate);
    }

    调用:

    HSSFWorkbook workbook = new HSSFWorkbook();
    ISheet sheet = workbook.CreateSheet("sheet1");
    ExcelHelper.SetCellDropdownList(sheet, 1, 1, new List<string>() { "男", "女", "保密" }.ToArray());


    第二种

    · 通过绑定值到sheet中设置下拉

    · 适用于数据较多,或灵活控制的值,例如:城市区域、数据表信息等。

    方法块:

    public static void SetCellDropdownList(HSSFWorkbook workbook, ISheet sheet, string name, int firstcol, int lastcol, string[] vals, int sheetindex = 1)
    {
          //先创建一个Sheet专门用于存储下拉项的值
          ISheet sheet2 = workbook.CreateSheet(name);
          //隐藏
          workbook.SetSheetHidden(sheetindex, true);
          int index = 0;
          foreach (var item in vals)
          {
              sheet2.CreateRow(index).CreateCell(0).SetCellValue(item);
              index++;
          }
          //创建的下拉项的区域:
          var rangeName = name + "Range";
          IName range = workbook.CreateName();
          range.RefersToFormula = name + "!$A$1:$A$" + index;
          range.NameName = rangeName;
          CellRangeAddressList regions = new CellRangeAddressList(0, 65535, firstcol, lastcol);
    
          DVConstraint constraint = DVConstraint.CreateFormulaListConstraint(rangeName);
          HSSFDataValidation dataValidate = new HSSFDataValidation(regions, constraint);
          dataValidate.CreateErrorBox("输入不合法", "请输入或选择下拉列表中的值。");
          dataValidate.ShowPromptBox = true;
          sheet.AddValidationData(dataValidate);
    }

    调用:

    HSSFWorkbook workbook = new HSSFWorkbook();
    ISheet sheet = workbook.CreateSheet("sheet1");
    var roomTypeList = GetRoomTypeNameList();
    ExcelHelper.SetCellDropdownList(workbook, sheet, "RoomTypeDictionary", 1, 1, roomTypeList.ToArray());

    另外,延伸联动下拉(直接贴源码了)

    方法块:

    private void SetCityCellDropdownList(HSSFWorkbook workbook, ISheet sheet, string dictionaryName, int citycol, int areacol, int sheetIndex)
    {
    	var citylist = GetCityList();
    	int citycount = citylist.Count;
    	ISheet sheet2 = workbook.CreateSheet(dictionaryName);
    	//隐藏
    	workbook.SetSheetHidden(sheetIndex, true);
    
    	#region 城市区域数据构造
    	//城市
    	int rowIndex = 0;
    	foreach (var item in citylist)
    	{
    		IRow row = sheet2.CreateRow(rowIndex);
    		row.CreateCell(0).SetCellValue(item.Name);
    
    		rowIndex++;
    	}
    	//区域
    	int n_rowIndex = 0;
    	foreach (var item in citylist)
    	{
    		int areaIndex = 0;
    		foreach (var area in item.AreaList)
    		{
    			IRow row = sheet2.GetRow(areaIndex);
    			if (row == null)
    			{
    				row = sheet2.CreateRow(areaIndex);
    			}
    			row.CreateCell(n_rowIndex + 1).SetCellValue(area.Name);
    			areaIndex++;
    		}
    		n_rowIndex++;
    	}
    	#endregion
    
    	#region 设置数据字段范围
    	//定义城市
    	int columnIndex = 1;
    	IName range_Country = workbook.CreateName();
    	range_Country.RefersToFormula = string.Format("{0}!${1}$1:${1}${2}", dictionaryName, GetExcelColumnName(columnIndex), citycount);
    	range_Country.NameName = "城市";
    
    	//定义区
    	foreach (var item in citylist)
    	{
    		int areacount = item.AreaList.Count;
    		columnIndex++;
    		IName range_area = workbook.CreateName();
    		range_area.RefersToFormula = string.Format("{0}!${1}$1:${1}${2}", dictionaryName, GetExcelColumnName(columnIndex), areacount);
    		range_area.NameName = item.Name;
    	}
    
    	//城市列表下拉绑定
    	ExcelHelper.SetCellDropdownList(sheet, 1, 65535, citycol, citycol, "城市");
    
    	//第二列,跟随第一列联动
    	string colName = GetExcelColumnName(areacol);
    	for (int j = 1; j < 500; j++)
    	{
    		ExcelHelper.SetCellDropdownList(sheet, j, j, areacol, areacol, string.Format("INDIRECT(${0}${1})", colName, j + 1));
    	}
    	#endregion
    }
    
    private string GetExcelColumnName(int columnNumber)
    {
    	int dividend = columnNumber;
    	string columnName = String.Empty;
    	int modulo;
    
    	while (dividend > 0)
    	{
    		modulo = (dividend - 1) % 26;
    		columnName = Convert.ToChar(65 + modulo).ToString() + columnName;
    		dividend = (int)((dividend - modulo) / 26);
    	}
    
    	return columnName;
    }
    public static void SetCellDropdownList(ISheet sheet, int firstRow, int lastRow, int firstCol, int lastCol, string name)
    {
    	CellRangeAddressList regions = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
    	DVConstraint constraint = DVConstraint.CreateFormulaListConstraint(name);
    	HSSFDataValidation dataValidate = new HSSFDataValidation(regions, constraint);
    	dataValidate.CreateErrorBox("输入不合法", "请输入或选择下拉列表中的值。");
    	sheet.AddValidationData(dataValidate);
    }
    调用:
    HSSFWorkbook workbook = new HSSFWorkbook();
    ISheet sheet = workbook.CreateSheet("sheet1");
    SetCityCellDropdownList(workbook, sheet, "CityDictionary", 1, 2, 1);
    完。


    更多相关内容
  • Excel设置下拉选项

    千次阅读 2021-01-27 11:27:19
    选中需要设置下拉选项的单元格或列,并点击功能列表中的【数据】页面。 3 继续点击数据工具组中的【数据验证】选项,从其下拉列表中选择【数据验证】选项。 4 在弹出来的【数据验证】对话框...
    1. 两种方式:

    第一种,根据Excel某列的值,进行下拉框选择、

    1.新建一个sheet页生成下拉框的数据,     (生成方法可以 notepad++或者  自动填充,手动万能大法也行)

    eg:

    2.选中原sheet页中 需要添加下拉框的某列或单元格,

    2.上方 “数据” --> “数据验证”--> “数据验证”

    3.内容选择 刚新增的sheet页的列

    4.确认   OK  

    第二种,手动输入  (适合下拉框值不多情况)

    1. 打开Excel,并打开需要处理的工作簿。

      Excel 2010中如何设置单元格下拉选项

    2. 2

      选中需要设置下拉选项的单元格或列,并点击功能列表中的【数据】页面。

      Excel 2010中如何设置单元格下拉选项

    3. 3

      继续点击数据工具组中的【数据验证】选项,从其下拉列表中选择【数据验证】选项。

      Excel 2010中如何设置单元格下拉选项

      Excel 2010中如何设置单元格下拉选项

    4. 4

      在弹出来的【数据验证】对话框的验证条件中,将【任何值】切换为【序列】。

      Excel 2010中如何设置单元格下拉选项

    5. 5

      之后在弹出来的来源中写上需要定义的下拉值,例如是或否,中间切记要用英文的逗号字符进行分隔。

    6. 6

      设置好之后,再回到工作表,下拉填充,那些选定的区域的单元格下拉选项就设置好了。

    展开全文
  • 如何将Excel的单元格设置下拉选项?-excel设置下拉菜单 作者:乔山办公网日期:2019-09-24 21:13:23 返回目录:excel表格制作 在用Excel表录入数据时,有时需要限制某个字段(也叫列)的值(也叫内容),比如,...

     

    https://www.qiaoshan022.cn/excel/excel14169.html

     

     

    如何将Excel的单元格设置成下拉选项?-excel设置下拉菜单

    作者:乔山办公网日期:2019-09-24 21:13:23

    返回目录:excel表格制作

    在用Excel表录入数据时,有时需要限制某个字段(也叫列)的值(也叫内容),比如,只允许其在几个值是选择一下,这时如果仅仅依据制定详细的说明,依靠人的自觉性来录入,还是不够的,需要通过技术手段来进行限制,一旦输入不符合某范围的值则会报错。

    下面,我们来看一看,如何将某个字段设置成下拉选项,让其只能选择,以减少出错。最终效果如下:

     

    具体操作步骤是:

    一、输入字段名(列名)

    首先要将字段名,即列名写好,以免在设置下拉成功后,因不符合规则,无法写入字段名了。如上图中的“科目”就是字段名。

    二、选中整个目标字段列

    本例子中,用鼠标左键单击B字母,选中整个B列:

    如何将Excel的单元格设置成下拉选项?

    三、调出数据验证选项

    点击“数据”菜单——找到“数据验证”选项——选中下拉选项中的“数据验证”:

    如何将Excel的单元格设置成下拉选项?

    四、输入下拉选项

    在“数据验证”弹出的对象框中,选中“设置”——在允许中选择“序列”,并将右侧“忽略空值”、“提供下拉箭头”勾选中。

    如何将Excel的单元格设置成下拉选项?

    在“来源”下方框中输入下拉的选项,如“语文,数学,英语,音乐”,注意,每一个选项中间要用英文的逗号隔开,注意,是“,”,而不是","。

     

    点确定,即可。此列值就只能下拉选择了,或者输入与下拉选项中相同的值:

     

    当输入无效值时,则会报错:

     

    本文标签:excel设置下拉菜单(8)Excel(3

     

     

     

     

    展开全文
  • Excel下拉选项设置

    千次阅读 2021-07-23 14:11:44
    1、打开需要操作的excel表格,根据需要输入选项内容,选中需要选择的列内容。 2、选中设置好的选项,点击表格上方数据选项。 点击【数据】功能 找到点击【数据验证】 【下拉选择序列】 点击【来源】将...

    1、打开需要操作的excel表格,根据需要输入选项内容,选中需要选择的列内容。

    (示例)

     2、选中设置好的选项,点击表格上方数据选项。

    点击【数据】功能

    找到点击【数据验证】

    【下拉选择序列】

     

     点击【来源】将自己选中的数据框选一下/根据需要可对整列进行选择。

    先在第一行【1位置】定义好名称,点【2位置】选整个B列

     然后在来源里面打字想要的选项,不同选项之间用英文 逗号隔开如【固定资产,项目资产】

     

    点击【确定】,之后就会生成下拉列表。

    如果对已生成的列表进行修改,需要先清除之前设置的样式,点击清除,然后就可以重新设置 了。

     

    展开全文
  • EXCEL如何设置多级下拉菜单
  • excel设置下拉菜单多选 如何设置多选Excel下拉菜单 (How to Set up Multiple Selection Excel Drop Down) [Latest update: July 27, 2016] With a bit of Excel VBA programming, you can change an Excel data ...
  • Excel表格设置下拉选项并应用到整列及清除下拉项设置
  • Java设置Excel下拉列表

    2021-03-04 04:24:02
    Excel在office2007之前和之后的格式不一样,07之前的后缀是.xls,07及07之后.xlsx,针对不同的格式,apache提供了不同的类来操作:HSSF来操作07之前的,XSSF来操作07及07之后。在pom.xml中要对包进行依赖,一定要两个...
  • 最近做个excel导入文档,需要下拉选项,于是研究了下一般从第二行开始,第一行标题不做下拉选项。将鼠标放在F列的第二行按住
  • mac下如何设置excel下拉表格

    千次阅读 2020-08-27 16:58:13
    第一步,选择-数据-验证 第二步,在“设置”中,允许中,选择“列表” 第三部,在源中,输入下拉项,以分号符隔开(英文;号,非中文)
  • excel表格筛选功能的应用技巧教程:一、过滤一系列数据1.选择范围内的任何单元格。2.选择数据 > 过滤器。3.选择列标题箭头 筛选箭头 。4.选择文本过滤器或数字过滤器,然后选择一个比较,例如之间。5.输入过滤...
  • 1,打开excel表格,对需要锁定的部分单元格进行全选,然后点击鼠标右键,在弹出来的设置功能中,选择“设置单元格格式”。(如下图)2,接着来到设置单元格格式下的“数字”属性中,点击上面主菜单中的“保护”功能...
  • Excel单元格设置下拉选项
  • 1、表格打印前先设置格式记得我刚入职时,主管让我把一份清单打印出来。我打开文档、打印,然后屁颠屁颠的把文档交到他面前。他皱着眉头,咆哮道:“这表格怎么没排版?!这叫人怎么看!至少要有个边框吧,你看这一...
  • excel设置下拉选项、级联、列头锁定,包括wps和office
  • 那么如何在excel表格中设置下拉菜单?这里小编教你一招搞定!具体方法如下:1、首先要打开excel表格,然后在表格上面点击鼠标左键选中要添加下拉菜单的单元格。2、选中单元格以后,在窗口上面的菜单栏点击数据。3、...
  • excel的常用功能
  • EXCEL设置下拉选项,选项带颜色

    千次阅读 2020-10-15 10:56:04
    EXCEL设置下拉选项,选项带颜色 老是要用,但是老是记不起来,这次自己记录下。 **第一步:**表格中设置你要的选项,以及对应选项的颜色。 第二步: 选中你要下拉的选项列,数据 — 插入下拉选项 — 对话框中选择...
  • 设置EXCEL下拉列表框的3种方法.zip
  • 下拉选项菜单用于某些需要输入确定内容的单元格。比如在性别列,输入的内容为男/女,这时候就可以使用下拉菜单,一是防止输入错误,二是减少输入量,通过选择即可输入内容。 具体实现方法: 1.选中需要设置下拉...
  • Excel表格中对于某一列需要进行判定,是或者否,如果每次都要一个一个输入,耗时又麻烦,此时我们可以对这一列设置下拉选项,每次选一下即可。今天就跟大家展示一下Excel如何设置下拉选项并应用到整列。 1.打开...
  • WPS之Excel表格如何设置下拉选项

    千次阅读 2019-01-26 16:45:22
    1 打开一张需要制作下拉菜单的工作表2 点击选中C2单元格3 在工具栏上方单击“数据”选项卡4 在“数据”选项卡中找到“有效性”工具5 在弹出的“数据有效性”窗口的“设置选项卡下的“有效性条件”中单击“序列”...
  • 我们在编辑excel表格的时候,填写的很多内容都是相同的,那么我们如何在excel单元格里设置下拉选项呢?下面学习啦小编告诉你!在excel单元格里设置下拉选项的方法首先我们先打开excel打开之后,我们可以看到这个表格,...
  • //设置下拉页页面隐藏 int sheetIndex = wb.getSheetIndex(targetSheet); wb.setSheetHidden(sheetIndex, true); //创建单元格对象 HSSFCell cell = null; //遍历我们上面的数组,将数据取出来放到新sheet的单元格...
  • 4:手动输入需要添加的下拉选项,使用+添加。 5:如果后面需要补充选项,要把这个勾选了。 效果如图所示,可以规范填写表格,同时也限制了填写的范围。 如果我们只选中了一个单元格,但是已经把选项添加完了,可以...
  • 中岁颇好道,晚家南山陲。兴来每独往,胜事空自知。行到水穷处,坐看云起时。偶然值林叟,谈笑无还期。 --[唐] 王维《终南别业》下拉菜单,相信大家一定不陌生。...那如果我们涉及到的下拉选项的内...
  • excel多级下拉菜单

    2019-02-21 07:58:14
    用于excel的多级下拉菜单,VBA编写,修改好即可使用。
  • 多sheet联动: 1、根据sheet2表格的值,生成下拉框; 2、匹配下拉框的值,选择对应的行、列; 3、根据行列取到sheet2中对应的值,实现联动。
  • excel表格操作 动态二级菜单
  • excel如何设置下拉框选项

    万次阅读 2021-09-03 18:06:02
    当我们需要在Excel中大量输入相同的多个数据时,可以设置下拉框选项,这能极大程度上减少我们的工作量。看看如何进行操作吧。 工具/原料 电脑 Excel表 方法/步骤 例如,我们完成如下的表格,在空白...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,641
精华内容 8,256
关键字:

如何设置excel下拉选项