每一行上都有C#Excel下拉列表
好的,我正在创建一个项目,当您将任务导出到Excel并再次发布它时,该项目的行为需要与TFS中的任务类似。 首先,我尝试生成一个包含必要数据的Excel文件,它应该用名称填充一个下拉框,例如“Donald”、“Wilco”、“Jansen”等,使用以下代码,我可以将它们添加到下拉列表中,并将下拉列表添加到特定单元格中。但我希望它能让这个网站有下拉列表 即 如果我去A1单元,它应该有一个下拉列表,如果我去A2单元,它应该有一个下拉列表 A(x)应该总是有一个下拉列表,所以如果我添加信息并转到新行,它应该有一个下拉列表 目前,我有以下代码开始,但不知道从这里去哪里每一行上都有C#Excel下拉列表,c#,excel,drop-down-menu,office-interop,C#,Excel,Drop Down Menu,Office Interop,好的,我正在创建一个项目,当您将任务导出到Excel并再次发布它时,该项目的行为需要与TFS中的任务类似。 首先,我尝试生成一个包含必要数据的Excel文件,它应该用名称填充一个下拉框,例如“Donald”、“Wilco”、“Jansen”等,使用以下代码,我可以将它们添加到下拉列表中,并将下拉列表添加到特定单元格中。但我希望它能让这个网站有下拉列表 即 如果我去A1单元,它应该有一个下拉列表,如果我去A2单元,它应该有一个下拉列表 A(x)应该总是有一个下拉列表,所以如果我添加信息并转到新行,
var oMissing = Type.Missing;
var excel = new Application();
var wb = excel.Workbooks.Add(1);
var sh = wb.Sheets.Add();
sh.Name = "TestSheet";
sh.Cells[1, "A"].Value2 = "SNO";
sh.Cells[2, "B"].Value2 = "A";
sh.Cells[2, "C"].Value2 = "1122";
var range = sh.Range["A1","A1"];
var xlDropDowns = ((DropDowns)(sh.DropDowns(oMissing)));
var xlDropDown = xlDropDowns.Add((double)range.Left, (double)range.Top, (double)range.Width, (double)range.Height, false);
var items = new[] { "Name1", "Name2", "Name3" };
//Add items into drop down list
for (int i = 0; i < items.Length; i++)
{
xlDropDown.AddItem(items[i], i + 1);
}
//wb.Close(true);
//excel.Quit();
excel.Visible = true;
var omising=Type.缺失;
var excel=新应用程序();
var wb=excel.Workbooks.Add(1);
var sh=wb.Sheets.Add();
sh.Name=“测试表”;
sh.Cells[1,“A”].Value2=“SNO”;
sh.Cells[2,“B”].Value2=“A”;
sh.Cells[2,“C”].Value2=“1122”;
var范围=sh范围[“A1”,“A1”];
变量xlDropDowns=((下拉)(sh.DropDowns(omising));
var xlDropDown=xlDropDowns.Add((双)range.Left,(双)range.Top,(双)range.Width,(双)range.Height,false);
var items=new[]{“Name1”、“Name2”、“Name3”};
//将项目添加到下拉列表中
对于(int i=0;i
用以下方法解决了这个问题
var oMissing = Type.Missing;
var excel = new Application();
var wb = excel.Workbooks.Add(1);
var sheet = wb.Sheets.Add();
sheet.Name = "ClientEditSheet";
sheet.Visible = false;
sheet.Range["A1"].Value = "Name1";
sheet.Range["A2"].Value = "Name2";
sheet.Range["A3"].Value = "Name3";
sheet.Range["A4"].Value = "Name4";
var sheet2 = wb.Sheets["Sheet1"];
Range validatingCellsRange = sheet2.Range["B1"].EntireColumn;
var lookupValues = "=ClientEditSheet!$" + "A" + "$1:$" + "A" + "$14";
validatingCellsRange.Validation.Delete();
validatingCellsRange.Validation.Add(XlDVType.xlValidateList,
XlDVAlertStyle.xlValidAlertInformation,
XlFormatConditionOperator.xlBetween, lookupValues, Type.Missing);
validatingCellsRange.Validation.IgnoreBlank = true;
validatingCellsRange.Validation.InCellDropdown = true;
//wb.Close(true);
//excel.Quit();
excel.Visible = true;