Excelでは、データ検証機能を使用して、ワークシートのセルに入力できるデータを定義できます。たとえば、入力したデータを特定の範囲の数値に制限したり、ドロップダウンリストを使用してユーザーが選択できるデータなどを制限したりすることができます。そしてこの記事では、主にC#プログラミングおよび強力なライブラリーであるSpire.XLS for .NETを使用して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;
操作した結果:
二 リストの有効性
ドロップダウンリストのオプションに入力内容を制限する
1.セルB2にテキストを入力し、フォーマットします。
sheet.Range["B2"].Text = "部門:";
sheet.Range["B2"].Style.Font.IsBold = true;
sheet.Range["B2"].Style.KnownColor = ExcelColors.Turquoise;
2.リスト検証をセル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("result.xlsx", FileFormat.Version2010);
System.Diagnostics.Process.Start("result.xlsx");
}
}
}
今回のExcelデータ検証をする方法は以上でした、最後まで読んでいただきありがとうございました。