gpt4 book ai didi

c# - 如何使用 c# ClosedXML 使用方法 List(String list, Boolean inCellDropdown) 在 Excel 中设置下拉验证

转载 作者:行者123 更新时间:2023-12-04 21:19:08 43 4
gpt4 key购买 nike

大家好我正在尝试使用 ClosedXML 库为我的 excel 中的列创建一个下拉列表。我可以使用以下代码成功创建它。

      using (XLWorkbook wb = new XLWorkbook())
{
wb.Worksheets.Add(dt);
wb.Worksheets.Add(dt2);
var worksheet2 = wb.Worksheet(2);
//wb.Worksheet(1).Column(11).SetDataValidation().List("one,two,three", true); This does not work fine
wb.Worksheet(1).Column(11).SetDataValidation().List(worksheet2.Range("A2:A12"), true);// Works fine
wb.Worksheet(1).Column(11).SetDataValidation().IgnoreBlanks = true;
wb.Worksheet(1).Column(11).SetDataValidation().InCellDropdown = true;
wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
wb.Style.Font.Bold = true;
wb.SaveAs(targetFile);
}

但是我想在 SetDataValidation() 中对 List 的另一个重载方法做同样的事情,但这正在创建 excel,但是当我试图打开它时,它说它已损坏。您能否帮我理解为什么其他重载方法不起作用。

有问题的方法是 public void List(String list, Boolean inCellDropdown) .根据 Data Validation wiki page可以使用字符串列表:
//Pass a string in this format: "Option1,Option2,Option3"
var options = new List<string>{"Option1","Option2","Option3"};
var validOptions = $"\"{String.Join(",", options)}\"";
ws.Cell(1,1).DataValidation.List(validOptions, true);

最佳答案

根据Data Validation wiki 页面,列表列表必须包含双引号。

在文档示例中:

var options = new List<string>{"Option1","Option2","Option3"};
var validOptions = $"\"{String.Join(",", options)}\"";
ws.Cell(1,1).DataValidation.List(validOptions, true);
validOptions包含:
"Option1,Option2,Option3"`

您自己的代码应更改为:
.List("\"one,two,three\"", true);

关于c# - 如何使用 c# ClosedXML 使用方法 List(String list, Boolean inCellDropdown) 在 Excel 中设置下拉验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60302327/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com