使用C#在Excel工作表中添加下拉列表

我使用C#在我的整个项目中填充Excel单元格作为行和列,如下所示。 现在有一个新的要求,在特定的单元格中添加一个下拉列表。

var oXl = new Microsoft.Office.Interop.Excel.Application {DisplayAlerts = false}; var oWb = oXl.Workbooks.Open(excelFileName); Microsoft.Office.Interop.Excel._Worksheet oSheet = oWb.Sheets[2]; oSheet.Cells[row, 1] = changeName + "\t"; oSheet.Cells[row, 2] = newName + "\t"; oSheet.Cells[row, 3] = (i + 1) + "\t"; oSheet.Cells[row, 4] = filename; oSheet.Cells[row, 5] = type; oSheet.Cells[row, 8] = dropdown; // Here I need to add a dropdown list 

我怎样才能做到这一点?

首先制作一个下拉列表

  var list = new System.Collections.Generic.List<string>(); list.Add("Charlie"); list.Add("Delta"); list.Add("Echo"); var flatList = string.Join(",", list.ToArray()); 

然后在下面的特定单元格中添加此列表作为下拉列表

 var cell = (Microsoft.Office.Interop.Excel.Range)oSheet.Cells[row, 8]; cell.Validation.Delete(); cell.Validation.Add( XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertInformation, XlFormatConditionOperator.xlBetween, flatList, Type.Missing); cell.Validation.IgnoreBlank = true; cell.Validation.InCellDropdown = true;