如何在Excel中创build自动完成?

在我的应用程序中,需要创build一个应该具有自动完成function的excel文件。 假设我从数据库中提取一些值“数据1”,“数据2”,取出后,我想将这些值绑定到Excel的特定列。 所以当用户键入的东西,它会提示“数据1”,“数据2”…

如何做到这一点? 需要帮助

您正在描述一项名为“数据validation”的function。 主要目的是将单元格的可能值限制在一定范围内,但是,正如您发现的那样,这具有Excel显示可用值的下拉菜单的便利副作用。

你可以使用各种openXML库来做这样的事情,这些库允许你在.NET代码中创build.xlsx文件。 我喜欢EPPlus ,它会让你做这样的事情:

static void Main(string[] args) { var fInfo = new FileInfo("output.xlsx"); using (var excel = new ExcelPackage()) { var sht1 = excel.Workbook.Worksheets.Add("DataSheet1"); sht1.Cells[1,1].Value = "Occupation:"; var validation = sht1.DataValidations.AddListValidation("A2"); foreach(var allowedValue in GetAllowedValues()) { validation.Formula.Values.Add(allowedValue); } excel.SaveAs(fInfo); } } private static IEnumerable<string> GetAllowedValues() { return new string []{"Doctor","Baker","Candlestick Maker"}; } 

这给你所指的下拉列表(我的screengrab来自LibreOffice,但你会看到在Excel中相同的效果):

在这里输入图像说明