ドロップダウンリストは、ユーザーが事前に定義されたリストから値のみを選択することを保証し、データ入力エラーを減らすだけでなく、時間を節約し、効率を向上させます。
MS Excelでは、「データ検証 」機能を使ってドロップダウンリストを作成することができますが、この記事では、C#を使ってExcelで無料の.NETライブラリを使用してドロップダウンリストを作成する方法を2つの例で紹介します。
ドロップダウン・リストを作成する無料のC#ライブラリ
Free Spire.XLS for .NETは、.NET(C#、VB.NET、ASP.NET、.NET Core、.NET 5.0、.NET 6.0、MonoAndroid、Xamarin.iOS)アプリケーションでExcelファイルを操作するための無料のライブラリです。
Excelのセルにドロップダウンリストを追加するには、NuGet経由でプロジェクトに無料のAPIをインストールするか、以下のリンクからダウンロードしてください。
例 1: 文字列配列を使ってドロップダウンリストを作成する
この例では、まず XlsRange.DataValidation.Values
プロパティでドロップダウンリストのソース値として文字列配列を定義し、IsSuppressDropDownArrow
プロパティの値をFalseに設定してドロップダウンアローを適用します。
サンプルC#コード:
using Spire.Xls;
namespace DropdownList
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトの作成
Workbook workbook = new Workbook();
//最初のワークシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//セルB2にテキストを追加し、そのフォント・スタイルを設定する
sheet.Range["B2"].Value = "部署";
sheet.Range["B2"].Style.Font.IsBold = true;
sheet.Range["B2"].Style.KnownColor = ExcelColors.LightYellow;
//ドロップダウンリストの値を設定する
sheet.Range["C2"].DataValidation.Values = new string[] { "経理部", "営業部", "技術部", "人事部", "法務部" };
//指定したセルにドロップダウンリストを作成する
sheet.Range["C2"].DataValidation.IsSuppressDropDownArrow = false;
//結果文書を保存する
workbook.SaveToFile("ExcelDropdownList.xlsx", ExcelVersion.Version2016);
}
}
}
例 2: セル範囲の値を使用してドロップダウンリストを作成する
この例では、XlsRange.DataValidation.DataRange
プロパティを使用して、指定されたデータ範囲をドロップダウンリストのソースとして参照しています。
この方法でドロップダウンリストを作成するとより柔軟で、ドロップダウンリストの値を更新したい場合は、対応するセルのデータを直接更新できます。
サンプルC#コード:
using Spire.Xls;
namespace DropdownList2
{
class Program
{
static void Main(string[] args)
{
//Workbookオブジェクトの作成
Workbook workbook = new Workbook();
//最初のワークシートを取得する
Worksheet sheet = workbook.Worksheets[0];
//セルC2にテキストを追加し、そのフォント・スタイルを設定する
sheet.Range["C2"].Value = "年齢";
sheet.Range["C2"].Style.Font.IsBold = true;
sheet.Range["C2"].Style.KnownColor = ExcelColors.PaleBlue;
//指定したセルに値を追加する
sheet.Range["A12"].Value = "20-29";
sheet.Range["A13"].Value = "30-39";
sheet.Range["A14"].Value = "40-49";
//データ検証ソースとして指定したデータ範囲を参照してドロップダウンリストを作成する
sheet.Range["C3"].DataValidation.DataRange = sheet.Range["A12:A14"];
//結果文書を保存する
workbook.SaveToFile("ExcelDropdownList2.xlsx", ExcelVersion.Version2016);
}
}
}
-- 無料の.NETライブラリで利用可能なExcel文書処理機能についてもっと知りたい方は、クリックして他の例をご覧ください。