/// <summary>
/// 指定单元格位置添加下拉项
/// </summary>
/// <param name="sheetIndex">指定页</param>
/// <param name="startRow">起始行</param>
/// <param name="colIndex">指定列</param>
/// <param name="rowNumber">多少行</param>
/// <param name="vals">"A,B,C,ALL".Split(',')</param>
internal static void SetCellDropdownList(int sheetIndex, int startRow, int colIndex, int rowNumber, string[] vals)
{
    ISheet sheet = workbook.GetSheetAt(sheetIndex);
    // 定义数据验证的帮助类
    var validationHelper = new XSSFDataValidationHelper((XSSFSheet)sheet);

    // 定义数据验证的约束条件,这里是序列类型,即下拉列表
    var validationConstraint = validationHelper.CreateExplicitListConstraint(vals);

    // 设置数据验证的范围
    var addressList = new CellRangeAddressList(startRow, startRow + rowNumber - 1, colIndex, colIndex);

    // 创建数据验证对象并设置其属性
    var validation = validationHelper.CreateValidation(validationConstraint, addressList);
    //validation.ErrorStyle = DataValidation.ErrorStyle.Stop;
    validation.ShowErrorBox = true;
    validation.CreatePromptBox("请选择一个选项", string.Join(",", vals));

    // 将数据验证添加到工作表
    sheet.AddValidationData(validation);
}
posted on 2024-05-16 15:57  弋杰  阅读(20)  评论(0编辑  收藏  举报