C# Excel数据有效性

本文涉及的产品
数据可视化DataV,5个大屏 1个月
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
简介: C# Excel数据有效性 在Excel中,我们可以使用数据有效性功能来定义哪些数据可以被输入到工作表的单元格中,例如,限制输入的数据为一定范围内的数字或使用下拉列表来限制用户可选择的数据等。这篇文章主要分享如何使用C#编程的方式来实现Excel的数据有效性功能。

C# Excel数据有效性

在Excel中,我们可以使用数据有效性功能来定义哪些数据可以被输入到工作表的单元格中,例如,限制输入的数据为一定范围内的数字或使用下拉列表来限制用户可选择的数据等。这篇文章主要分享如何使用C#编程的方式来实现Excel的数据有效性功能。

一、数字有效性

限制数据输入范围为1-10之间的数字

1.创建一个新的Excel工作薄并获取它的第一个工作表。

Workbook wb = new Workbook();
Worksheet sheet = wb.Worksheets[0];

 

2.在单元格B9中输入一些文本并设置格式。

sheet.Range["B9"].Text = "请输入数字:";
sheet.Range["B9"].Style.Font.IsBold = true;
sheet.Range["B9"].Style.KnownColor = ExcelColors.Turquoise;

 

3.应用数字有效性到单元格C9。

sheet.Range["C9"].DataValidation.AllowType = CellDataType.Decimal;
sheet.Range["C9"].DataValidation.Formula1 = "1";
sheet.Range["C9"].DataValidation.Formula2 = "10";
sheet.Range["C9"].DataValidation.CompareOperator = ValidationComparisonOperator.Between;
sheet.Range["C9"].DataValidation.InputMessage = "请在该单元格中输入1-10之间的数字.";
sheet.Range["C9"].Style.KnownColor = ExcelColors.LightGreen1;

 

效果图:

     

                 

二、列表有效性

限制数据输入为下拉列表中的选项

在单元格B2中输入一些文本并设置格式。

sheet.Range["B2"].Text = "部门:";
sheet.Range["B2"].Style.Font.IsBold = true;
sheet.Range["B2"].Style.KnownColor = ExcelColors.Turquoise;

 

应用列表有效性到单元格C2:

sheet.Range["C2"].DataValidation.Values = new string[] { "销售", "人力资源", "研发", "财务" };
sheet.Range["C2"].DataValidation.IsSuppressDropDownArrow = false;
sheet.Range["C2"].Style.KnownColor = ExcelColors.LightGreen1;

 

效果图:

 

 

三、自定义数据有效性错误提示信息/警告

数据有效性应用到单元格以后,不符合要求的数据将不能成功的在该单元格内输入,如果强行输入不符合要求的数据,Excel将会提示如下错误信息:

 

如果不想使用Excel默认的错误提示信息,可以使用如下代码来自定义错误信息的提示内容:

sheet.Range["C2"].DataValidation.AlertStyle = AlertStyleType.Warning;
sheet.Range["C2"].DataValidation.ShowError = true;
sheet.Range["C2"].DataValidation.ErrorTitle = "错误001";
sheet.Range["C2"].DataValidation.ErrorMessage = "请从下拉列表中选择一个项目";

 

效果图:

 

完整代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Xls;

namespace Apply_data_validation_to_excel_cells
{
    class Program
    {
        static void Main(string[] args)
        {
            Workbook wb = new Workbook();
            Worksheet sheet = wb.Worksheets[0];

            //应用数字有效性
            sheet.Range["B9"].Text = "请输入数字:";
            sheet.Range["B9"].Style.Font.IsBold = true;
            sheet.Range["B9"].Style.KnownColor = ExcelColors.Turquoise;

            sheet.Range["C9"].DataValidation.AllowType = CellDataType.Decimal;
            sheet.Range["C9"].DataValidation.Formula1 = "1";
            sheet.Range["C9"].DataValidation.Formula2 = "10";
            sheet.Range["C9"].DataValidation.CompareOperator = ValidationComparisonOperator.Between;
            sheet.Range["C9"].DataValidation.InputMessage = "请在该单元格中输入1-10之间的数字.";
            sheet.Range["C9"].Style.KnownColor = ExcelColors.LightGreen1;
 
            //应用列表有效性
            sheet.Range["B2"].Text = "部门:";
            sheet.Range["B2"].Style.Font.IsBold = true;
            sheet.Range["B2"].Style.KnownColor = ExcelColors.Turquoise;

            sheet.Range["C2"].DataValidation.Values = new string[] { "销售", "人力资源", "研发", "财务" };
            sheet.Range["C2"].DataValidation.IsSuppressDropDownArrow = false;
            sheet.Range["C2"].Style.KnownColor = ExcelColors.LightGreen1;

            //自定义数据有效性错误提示信息
            sheet.Range["C2"].DataValidation.AlertStyle = AlertStyleType.Warning;
            sheet.Range["C2"].DataValidation.ShowError = true;
            sheet.Range["C2"].DataValidation.ErrorTitle = "错误001";
            sheet.Range["C2"].DataValidation.ErrorMessage = "请从下拉列表中选择一个项目"; 

            //保存文档并重启
            wb.SaveToFile("输出.xlsx",FileFormat.Version2010);
            System.Diagnostics.Process.Start("输出.xlsx");
        }
    }
}

 

总结:

本文借助了一个免费的dll文件,仅介绍了添加数字和列表有效性的部分,如果感兴趣的话可以下载该dll文件,然后创建其他数据有效性类型如日期/时间及文本长度有效性等。

相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
26天前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
3月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
41 0
|
23天前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
42 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
SQL C# 数据库
EPPlus库的安装和使用 C# 中 Excel的导入和导出
本文介绍了如何使用EPPlus库在C#中实现Excel的导入和导出功能。首先,通过NuGet包管理器安装EPPlus库,然后提供了将DataGridView数据导出到Excel的步骤和代码示例,包括将DataGridView转换为DataTable和使用EPPlus将DataTable导出为Excel文件。接着,介绍了如何将Excel数据导入到数据库中,包括读取Excel文件、解析数据、执行SQL插入操作。
EPPlus库的安装和使用 C# 中 Excel的导入和导出
|
26天前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
28天前
|
SQL 缓存 分布式计算
C#如何处理上亿级数据的查询效率
C#如何处理上亿级数据的查询效率
15 1
|
28天前
|
中间件 数据库连接 API
C#数据分表核心代码
C#数据分表核心代码
31 0
|
2月前
|
存储 C# 开发者
枚举与结构体的应用:C#中的数据组织艺术
在C#编程中,枚举(`enum`)和结构体(`struct`)是非常重要的数据类型。枚举用于定义命名常量集合,提高代码可读性;结构体则封装相关数据字段,适合小型数据集。本文从基本概念入手,探讨它们的使用技巧、常见问题及解决方案,帮助开发者更好地利用这些特性构建健壮的应用程序。
39 8
|
1月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
298 0
|
2月前
|
数据采集 存储 数据挖掘
使用Python读取Excel数据
本文介绍了如何使用Python的`pandas`库读取和操作Excel文件。首先,需要安装`pandas`和`openpyxl`库。接着,通过`read_excel`函数读取Excel数据,并展示了读取特定工作表、查看数据以及计算平均值等操作。此外,还介绍了选择特定列、筛选数据和数据清洗等常用操作。`pandas`是一个强大且易用的工具,适用于日常数据处理工作。