如何使用OpenXml在Excel文件中创建带有多项选择下拉菜单的单元格?

3

我正在使用 DocumentFormat.OpenXML NuGet 包编写 Excel 文件的功能。我可以在 Excel 中的特定单元格创建下拉列表,但我的要求是,该特定单元格应允许用户从下拉列表中选择多个项目。

使用以下代码,我能够在单元格上创建下拉列表,但该单元格不允许多重选择。

            DataValidation dataValidation = new DataValidation
            {
                Type = DataValidationValues.List,
                AllowBlank = true,
                SequenceOfReferences = new ListValue<StringValue>() { InnerText = "B1" },
                Formula1 = new Formula1("'Cricket Team'!$A$1:$A$3")

            };

            DataValidations dataValidations = worksheet1.GetFirstChild<DataValidations>();
            if (dataValidations != null)
            {
                dataValidations.Count = dataValidations.Count + 1;
                dataValidations.Append(dataValidation);
            }
            else
            {
                DataValidations newdataValidations = new DataValidations();
                newdataValidations.Append(dataValidation);
                newdataValidations.Count = 1;
                worksheet1.Append(newdataValidations);
            }

这段代码的示例输出如下:

enter image description here

我的要求是,用户可以从下拉列表中选择多个项目

你找到解决方案了吗? - Maddy89
1个回答

1
我的要求是,特定单元格应允许用户从下拉列表中选择多个项目。您可以尝试通过AutoFilter对范围设置和应用过滤器,如下所示。
Worksheet sheet1 = new Worksheet();
sheet1.Append(sheetData);

// set the AutoFilter
// and set the range based on your requirement and data items
AutoFilter autoFilterForName = new AutoFilter(){ Reference = "B1:B" + 3 }; 

sheet1.Append(autoFilterForName);

测试结果

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接