Excel文件中的下拉项目限制数

考虑这个代码:

var dropDown = sheet.DataValidations.AddListValidation(cells[2, colIndex, maxCol, colIndex].Address); foreach (var bb in brokerBranchs) { dropDown.Formula.Values.Add(bb.Title); } 

29 dropDown项目一切正常,并创buildExcel文件工作正常,但作为项目数超过29,打开创build的文件显示以下错误: 在这里输入图像描述 打开损坏的结果文件会丢弃与所有列关联的所有下拉项目。 这个问题有什么可能的解决办法? 任何帮助将不胜感激。

您必须添加新工作表以将下拉项插入到此工作表中

  ExcelWorksheet ddList = excelPackage.Workbook.Worksheets.Add("DropDownList"); 

现在将数据添加到第一列中的ddList

  var brokerBranchs = accountingUnitOfWork.BrokerServiceAccessor.GetBrokerBranchByBrokerId(firmId).OrderBy(x => x.Title).ToList(); var val = sheet.DataValidations.AddListValidation(cells[2, colIndex, maxCol, colIndex].Address); for (int index = 1; index <= brokerBranchs.Count; index++) { ddList.Cells[index, 1].Value = brokerBranchs[index - 1].Title; } 

现在创build公式中使用的地址

 var address = ddList.Cells[1, 1, brokerBranchs.Count(), 1].Address.ToString(); var arr = address.Split(':'); var char1 = arr[0][0]; var num1 = arr[0].Trim(char1); var char2 = arr[1][0]; var num2 = arr[1].Trim(char2); 

现在在公式中使用地址

 val.Formula.ExcelFormula = string.Format("=DropDownList!${0}${1}:${2}${3}", char1, num1, char2, num2); val.ShowErrorMessage = true; val.Error = "Select from List of Values ...";