【问题标题】:How to read Excel Dropdown value using ClosedXML如何使用 ClosedXML 读取 Excel 下拉列表值
【发布时间】:2020-11-17 14:14:09
【问题描述】:

我有一个 excel,其中有一些字段作为下拉列表,需要获取下拉列表的整个列表。 我尝试为此使用 ClosedXML。我可以找到它是否是列表。 但无法阅读整个列表?

     using(var workbook = new XLWorkbook("C:\Data\Test.xlsx"))
    {
        var workSheetTable = workbook.Worksheets.Worksheet("Template1");

        var dropdownList = workSheetTable.Range("A5:F5");
        var datavalid = workSheetTable.DataValidations.
            GetAllInRange(dropdownList.RangeAddress).ToList();

        foreach (var dataValidation in workSheetTable.DataValidations)
        {
            if (dataValidation.AllowedValues == XLAllowedValues.List)
            {
                //How to get values of the list
            }
        }
    }

【问题讨论】:

    标签: c# closedxml


    【解决方案1】:

    IXLDataValidation.Value 正在保存所选范围以进行验证。

    using (XLWorkbook workbook = new XLWorkbook(@"C:\Data\Test.xlsx"))
    {
        IXLWorksheet workSheetTable = workbook.Worksheets.Worksheet("Template1");
    
        IXLRange dropdownList = workSheetTable.Range("A5:F5");
        foreach (IXLDataValidation dataValidation in workSheetTable.DataValidations.GetAllInRange(dropdownList.RangeAddress))
        {
            if (dataValidation.AllowedValues == XLAllowedValues.List)
            {
                foreach(IXLCell cell in workSheetTable.Range(dataValidation.Value).Cells())
                {
                    System.Diagnostics.Debug.WriteLine(string.Format("validation item for cel(s) {0}: {1}",dropdownList.RangeAddress,cell.Value));
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 2015-06-21
      • 2022-08-15
      • 2018-07-23
      • 1970-01-01
      相关资源
      最近更新 更多