0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

C#を使用してExcelデータ検証をする方法

Last updated at Posted at 2022-04-12

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;

操作した結果:
01.png

二 リストの有効性

ドロップダウンリストのオプションに入力内容を制限する

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;

操作した結果:
02.png

三 データ有効性エラーメッセージ/警告をカスタマイズする

データの有効性がセルに適用された後、条件に相応しくないデータにはセルに正常に入力されません。要件を満たさないデータが強制的に入力されると、Excelは次のようなエラーメッセージを表示します。
03.png

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 = "ドロップダウンリストから項目を選択してください";  

操作した結果:
04.png

完全なるコード:

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データ検証をする方法は以上でした、最後まで読んでいただきありがとうございました。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?