C# 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文件,然后創建其他數據有效性類型如日期/時間及文本長度有效性等。
轉載于:https://www.cnblogs.com/Yesi/p/5757022.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的C# Excel数据有效性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于开源堡垒机Jumpserver二次开
- 下一篇: HDU5692(线段树+dfs序)