如何通过C#代码在Excel中创建下拉列表

下拉列表是一种很常见的用户界面元素,一般用于为用户提供某些特定的选项。它通常是以下拉的形式出现,用户点击下拉箭头即可展开下拉值列表,并从中快速选择出适合的选项,而不用手动输入。这个功能在Excel表格中使用非常频繁。像是在收集学生的出生日期,统计员工的性别或政治面貌时,这种列表都非常方便又快捷。具体的创建方法请看下文。

通过Microsoft Excel创建下拉列表

这一方法多用于手动创建下拉列表。
打开Excel文件-选择单元格范围-数据-数据验证-设置-设置序列-输入列表值-确认。

如果你的数据比较多,存放在表格中的话,也可以将“来源”设置为单元格范围。

使用C#代码创建下拉列表

这一方法可用于编写相关程序,或者批量创建下拉列表的情况。
在这里,我所使用的是Free Spire.XLS for .NET程序库来实现该功能。这是一个免费的Excel库,支持在.NET平台编辑和转换多种excel文件格式(.xls/.xlsx/.xlsb/ .xlsm)。
不过免费版有一定的使用限制,大概支持5个200行内的sheet。
如果有需要的话,也可以选择使用商业版:Spire.XLS for .NET
商业版的话也有30天的免费试用

安装方法

方法一
直接在Visual Studio中搜索安装。
1.先在Visual Studio中创建一个C#项目并打开。
2.依次选择“解决方案资源管理器”>右键“引用”> “管理NuGet程序包”
3.搜索Free Spire.XLS for .NET并安装。
方法二
在程序中手动引入Spire.xls.dll文件。
1.下载并安装Free Spire.XLS for .NET 。
2.在Visual Studio中创建一个C#项目并打开。
3.在 “解决方案资源管理器”中右键“引用”。
4.依次选择“添加引用”> “浏览”,找到安装路径下BIN文件夹中的dll文件,点击“确定”。
推荐第二种安装方法,这样更便于在安装的“SampleCenter.exe”中查找各种参考代码。

示例代码

using Spire.Xls;

namespace DropdownList2
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个新工作簿对象
            Workbook workbook = new Workbook();

            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            //在指定单元格输入标题文本
            sheet.Range["A1"].Value = "政治面貌";
            sheet.Range["A1"].Style.Font.Size = 12;
            sheet.Range["A1"].Style.Font.IsBold = true;

            //设置下拉列表值
            sheet.Range["A2:A10"].DataValidation.Values = new string[] { "党员", "团员", "群众" };

            //在指定位置创建下拉列表
            sheet.Range["A2:A10"].DataValidation.IsSuppressDropDownArrow = false;

            //生成结果文档
            workbook.SaveToFile("CreateList.xlsx", ExcelVersion.Version2010);
        }
    }
}

示例效果

同样的,如果数据比较多,存放在表格中的话,也可以将下拉值设置为单元格范围。

参考代码片段

//设置单元格范围内的值为下拉列表值
sheet.Range["A2:A10"].DataValidation.DataRange = sheet.Range["B1:B3"];

这里A2:A10是想要设置下拉列表的范围。
B1:B3是下拉列表值的范围。

  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值