簡體   English   中英

如何在Excel中創建自動補全功能?

[英]How to create autocompletion in Excel?

在我的應用程序中,需要創建一個具有自動完成功能的Excel文件。 假設我要從數據庫中獲取一些值“ Data 1”,“ Data 2”,在獲取之后,我想將這些值綁定到excel的特定列。 因此,當用戶鍵入內容時,將提示“數據1”,“數據2” ...

如何實現呢? 需要幫助

您正在描述一種稱為數據驗證的功能。 它的主要目的是將單元格的可能值限制在一定范圍內,但是,正如您已經發現的那樣,這具有使Excel顯示可用值下降的便捷副作用。

您可以使用各種openXML庫執行類似的操作,這些庫允許您在.NET代碼中創建.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"};
} 

這給出了您要引用的下拉列表(我的屏幕抓圖來自LibreOffice,但您將在Excel中看到相同的效果):

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM