2017-10-17 2 views
1

내 응용 프로그램에는 자동 완성 기능이 있어야하는 Excel 파일을 만들어야합니다. 가져온 후에 데이터베이스에서 "Data 1", "Data 2"값을 가져 오는 것으로 가정하고 그 값을 Excel의 특정 열에 바인딩하려고합니다. 그래서 사용자가 뭔가를 입력하면 "데이터 1", "데이터 2"를 묻습니다. ...Excel에서 자동 완성을 만드는 방법은 무엇입니까?

어떻게해야합니까? 도움이 필요합니다

답변

0

데이터 유효성 검사라는 기능에 대해 설명합니다. 주된 목적은 셀의 가능한 값을 특정 범위로 제한하는 것입니다. 그러나 사용자가 발견 한대로 Excel에 사용 가능한 값이 드롭 다운되는 부작용이 있습니다.

.NET 코드에서 .xlsx 파일을 만들 수있는 다양한 openXML 라이브러리를 사용하여 이와 같은 작업을 수행 할 수 있습니다. 할 것입니다 내가 좋아하는 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에서 같은 효과를 볼 수) :

enter image description here

+0

고마워요, :) – Babai

관련 문제