亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用C#自動(dòng)化生成Excel單元格數(shù)據(jù)驗(yàn)證

 更新時(shí)間:2025年09月28日 08:45:20   作者:Eiceblue  
在日常報(bào)表開發(fā)中,Excel 的數(shù)據(jù)準(zhǔn)確性和可控性與格式美觀同樣重要,本文將演示如何在 同一個(gè)工作表中 設(shè)置 下拉列表、數(shù)值范圍、日期區(qū)間、文本長度、自定義公式和輸入提示,有需要的小伙伴可以了解下

在日常報(bào)表開發(fā)中,Excel 的數(shù)據(jù)準(zhǔn)確性和可控性與格式美觀同樣重要。通過合理設(shè)置數(shù)據(jù)驗(yàn)證,可以防止輸入錯(cuò)誤、約束填報(bào)規(guī)則,從而提升數(shù)據(jù)的可靠性和規(guī)范性。

相比手動(dòng)設(shè)置驗(yàn)證規(guī)則,使用 C# 程序自動(dòng)化生成 Excel 數(shù)據(jù)驗(yàn)證 不僅能提高效率,還能保證規(guī)則統(tǒng)一。本文演示如何在 同一個(gè)工作表中 設(shè)置 下拉列表、數(shù)值范圍、日期區(qū)間、文本長度、自定義公式和輸入提示,并結(jié)合實(shí)際業(yè)務(wù)場景幫助你理解數(shù)據(jù)驗(yàn)證的作用。

本文使用的方法基于 Free Spire.XLS for .NET。安裝方式(NuGet)如下:

1. 初始化工作簿和工作表

using Spire.Xls;

Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "員工信息錄入";

操作說明

這里新建了一個(gè) Excel 文件并獲取第一個(gè)工作表,命名為“員工信息錄入”。所有驗(yàn)證規(guī)則都會(huì)集中展示在這個(gè)表中,保證操作有條理。

2. 下拉列表驗(yàn)證(部門選擇)

在實(shí)際業(yè)務(wù)中,員工部門字段通常是固定的幾個(gè)選項(xiàng),例如“人事部”“財(cái)務(wù)部”“技術(shù)部”“市場部”。通過下拉列表驗(yàn)證,可以避免用戶隨意輸入錯(cuò)誤部門名稱。

// 部門列表
sheet.Range["A1"].Text = "可選部門:";
sheet.Range["A2"].Text = "人事部";
sheet.Range["A3"].Text = "財(cái)務(wù)部";
sheet.Range["A4"].Text = "技術(shù)部";
sheet.Range["A5"].Text = "市場部";

// 員工錄入?yún)^(qū)
sheet.Range["C1"].Text = "所屬部門:";
CellRange deptCell = sheet.Range["C2"];

deptCell.DataValidation.AllowType = CellDataType.Formula;
// 設(shè)置下拉列表數(shù)據(jù)源
deptCell.DataValidation.DataRange = sheet.Range["A2:A5"];
// 也可直接設(shè)置列表內(nèi)容
//deptCell.DataValidation.Values = ["人事部", "財(cái)務(wù)部", "技術(shù)部", "市場部"];
deptCell.DataValidation.ShowError = true;
deptCell.DataValidation.AlertStyle = AlertStyleType.Stop;
deptCell.DataValidation.ErrorTitle = "輸入錯(cuò)誤";
deptCell.DataValidation.ErrorMessage = "請(qǐng)從下拉列表中選擇部門!";

// 輸入提示
deptCell.DataValidation.ShowInput = true;
deptCell.DataValidation.InputTitle = "選擇部門";
deptCell.DataValidation.InputMessage = "請(qǐng)從固定部門列表中選擇。";

使用場景:避免部門名稱不統(tǒng)一(如“技術(shù)”“技術(shù)部”混用)。

保存文件后效果:

3. 數(shù)值驗(yàn)證(員工年齡)

員工年齡一般處于一定范圍內(nèi),比如 18 到 60 歲。我們可以通過數(shù)值驗(yàn)證來限制輸入。

sheet.Range["D1"].Text = "員工年齡 (18-60):";
CellRange ageCell = sheet.Range["D2"];

ageCell.DataValidation.AllowType = CellDataType.Integer;
ageCell.DataValidation.CompareOperator = ValidationComparisonOperator.Between;
ageCell.DataValidation.Formula1 = "18";
ageCell.DataValidation.Formula2 = "60";
ageCell.DataValidation.ShowError = true;
ageCell.DataValidation.ErrorMessage = "請(qǐng)輸入 18 到 60 之間的整數(shù)!";

使用場景:保證錄入的年齡數(shù)據(jù)合理,不會(huì)出現(xiàn)“5 歲員工”或“100 歲員工”的異常數(shù)據(jù)。

保存文件后效果:

4. 日期驗(yàn)證(入職日期)

企業(yè)通常要求員工入職日期在某一合理區(qū)間內(nèi)。例如,錄入表只允許選擇 2023 年內(nèi)的入職日期。

sheet.Range["E1"].Text = "入職日期 (2023年):";
CellRange hireDateCell = sheet.Range["E2"];

hireDateCell.DataValidation.AllowType = CellDataType.Date;
hireDateCell.DataValidation.CompareOperator = ValidationComparisonOperator.Between;
hireDateCell.DataValidation.Formula1 = "2023-01-01";
hireDateCell.DataValidation.Formula2 = "2023-12-31";
hireDateCell.DataValidation.ShowError = true;
hireDateCell.DataValidation.ErrorMessage = "請(qǐng)輸入 2023 年的有效日期!";

使用場景:確保錄入的入職時(shí)間不會(huì)超出考勤和人事系統(tǒng)設(shè)定范圍。

保存文件后效果:

5. 文本長度驗(yàn)證(工號(hào))

工號(hào)通常有固定的位數(shù),例如必須是 6 位字符。通過文本長度驗(yàn)證可以保證工號(hào)錄入規(guī)范。

sheet.Range["F1"].Text = "工號(hào) (6位):";
CellRange idCell = sheet.Range["F2"];

idCell.DataValidation.AllowType = CellDataType.TextLength;
idCell.DataValidation.CompareOperator = ValidationComparisonOperator.Equal;
idCell.DataValidation.Formula1 = "6";
idCell.DataValidation.ShowError = true;
idCell.DataValidation.ErrorMessage = "工號(hào)必須為 6 位字符!";

使用場景:避免工號(hào)錄入長度不一導(dǎo)致系統(tǒng)識(shí)別異常。

保存文件后效果:

6. 自定義公式驗(yàn)證(工資 > 基本工資)

在工資表中,往往需要確保“實(shí)發(fā)工資”大于“基本工資”。我們可以使用自定義公式來實(shí)現(xiàn)這種邏輯。

sheet.Range["G1"].Text = "基本工資:";
sheet.Range["G2"].NumberValue = 4000;
sheet.Range["H1"].Text = "實(shí)發(fā)工資:";
CellRange salaryCell = sheet.Range["H2"];

salaryCell.DataValidation.AllowType = CellDataType.Formula;
salaryCell.DataValidation.Formula1 = "=H2>G2";
salaryCell.DataValidation.ShowError = true;
salaryCell.DataValidation.ErrorMessage = "實(shí)發(fā)工資必須大于基本工資!";

使用場景:避免出現(xiàn)“實(shí)發(fā)工資比基本工資還低”的錯(cuò)誤數(shù)據(jù)。

保存文件后效果:

7. 保存文件

完成所有驗(yàn)證規(guī)則設(shè)置后,將結(jié)果保存為 Excel 文件:

// 自動(dòng)對(duì)齊并保存
sheet.Range.Style.Font.FontName = "微軟雅黑";
sheet.Range.Style.Font.Size = 12f;
sheet.Range.AutoFitColumns();
workbook.SaveToFile("DataValidation.xlsx", ExcelVersion.Version2016);

關(guān)鍵類與屬性總結(jié)

類 / 屬性說明
Workbook表示 Excel 工作簿,用于創(chuàng)建和保存文件
Worksheet表示 Excel 工作表,所有操作都基于該對(duì)象
CellRange表示單元格或單元格區(qū)域
DataValidation用于設(shè)置單元格數(shù)據(jù)驗(yàn)證規(guī)則
AllowType指定驗(yàn)證類型(整數(shù)、日期、文本長度、自定義公式等)
CompareOperator指定比較運(yùn)算符(Between、Equal 等)
Formula1 / Formula2用于設(shè)置驗(yàn)證條件的參數(shù)值
ShowError是否顯示錯(cuò)誤提示
ErrorMessage錯(cuò)誤提示信息
ShowInput是否顯示輸入提示
InputMessage輸入提示信息

總結(jié)

本文通過 Spire.XLS for .NET 演示了如何在一張 Excel 工作表中設(shè)置多種類型的數(shù)據(jù)驗(yàn)證,包括下拉列表、數(shù)值范圍、日期區(qū)間、文本長度、自定義公式以及輸入提示。通過這些驗(yàn)證規(guī)則,可以有效減少錯(cuò)誤輸入,統(tǒng)一數(shù)據(jù)標(biāo)準(zhǔn),提升報(bào)表質(zhì)量。如果你正在開發(fā)人事、財(cái)務(wù)或其他需要批量數(shù)據(jù)錄入的系統(tǒng),使用 C# 自動(dòng)化設(shè)置 Excel 數(shù)據(jù)驗(yàn)證會(huì)大大提高效率和準(zhǔn)確性。

以上就是使用C#自動(dòng)化生成Excel單元格數(shù)據(jù)驗(yàn)證的詳細(xì)內(nèi)容,更多關(guān)于C# Excel單元格數(shù)據(jù)驗(yàn)證的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#實(shí)現(xiàn)基于加減按鈕形式控制系統(tǒng)音量及靜音的方法

    C#實(shí)現(xiàn)基于加減按鈕形式控制系統(tǒng)音量及靜音的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)基于加減按鈕形式控制系統(tǒng)音量及靜音的方法,涉及C#引用user32.dll動(dòng)態(tài)鏈接庫操作系統(tǒng)音量的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • C# MemoryStream類案例詳解

    C# MemoryStream類案例詳解

    這篇文章主要介紹了C# MemoryStream類案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C#聯(lián)合VisionPro實(shí)現(xiàn)TCP/IP通信詳解

    C#聯(lián)合VisionPro實(shí)現(xiàn)TCP/IP通信詳解

    TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是一組用于在網(wǎng)絡(luò)上進(jìn)行通信的通信協(xié)議,本文主要為大家詳細(xì)介紹了C#如何聯(lián)合VisionPro實(shí)現(xiàn)TCP/IP通信,希望對(duì)大家有所幫助
    2024-02-02
  • C#冒泡法排序算法實(shí)例分析

    C#冒泡法排序算法實(shí)例分析

    這篇文章主要介紹了C#冒泡法排序算法,結(jié)合兩個(gè)常用實(shí)例分析了C#冒泡排序算法的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-07-07
  • c#字符串值類型與引用類型比較示例

    c#字符串值類型與引用類型比較示例

    這篇文章主要介紹了c#字符串值類型與引用類型比較示例,需要的朋友可以參考下
    2014-03-03
  • c# winform 關(guān)閉窗體時(shí)同時(shí)結(jié)束線程實(shí)現(xiàn)思路

    c# winform 關(guān)閉窗體時(shí)同時(shí)結(jié)束線程實(shí)現(xiàn)思路

    th.IsBackground = true解決線程問題,意思就是把線程設(shè)置為后臺(tái)線程,感興趣的朋友可以多了解下,如何有什么妙招還請(qǐng)多多指導(dǎo)哈
    2013-02-02
  • C#?拼圖游戲的實(shí)戰(zhàn)(附demo)

    C#?拼圖游戲的實(shí)戰(zhàn)(附demo)

    拼圖游戲是常見的一種游戲,本文詳細(xì)的介紹了C#實(shí)現(xiàn)拼圖游戲,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C#實(shí)現(xiàn)讀取和設(shè)置文件與文件夾的權(quán)限

    C#實(shí)現(xiàn)讀取和設(shè)置文件與文件夾的權(quán)限

    這篇文章主要為大家詳細(xì)介紹了如何使用C#實(shí)現(xiàn)讀取和設(shè)置文件與文件夾的權(quán)限,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • C#常用GDI+文字操作匯總

    C#常用GDI+文字操作匯總

    這篇文章主要介紹了C#常用GDI+文字操作,包括文字投影、倒影、旋轉(zhuǎn)等特效,對(duì)于提升程序界面的視覺效果有很大的用處,需要的朋友可以參考下
    2014-08-08
  • 使用C#實(shí)現(xiàn)復(fù)制Word文檔的內(nèi)容

    使用C#實(shí)現(xiàn)復(fù)制Word文檔的內(nèi)容

    在日常辦公中,我們經(jīng)常需要在 Word 文檔之間復(fù)制內(nèi)容,本文將介紹如何使用 C# 復(fù)制 Word 文檔的內(nèi)容并保留格式,包括備份整份文檔,復(fù)制頁面,節(jié),段落,表格以及頁眉頁腳等,需要的可以了解下
    2025-08-08

最新評(píng)論