2014-04-14 8 views
0

내 프로젝트에서 .NET 라이브러리 npoi을 사용하여 일부 Excel 문서를 만듭니다. MS Office가 설치되어있는 경우 MS interop Excel DLL이있는 확인란과 콤보 상자가 추가됩니다.엑셀 셀의 왼쪽 및 맨 위 값 가져 오기

//Top value of the first checkbox 
double top = 68; 

for (int i = 6; i <= rowcount; i++) 
{ 
    Microsoft.Office.Interop.Excel.OLEObject obj2 = objs.Add("Forms.CheckBox.1", 
    System.Reflection.Missing.Value, 
    System.Reflection.Missing.Value, 
    false, 
    false, 
    System.Reflection.Missing.Value, 
    System.Reflection.Missing.Value, 
    1055, //static left value 
    top, //static top value 
    10, 
    10); 

    top += 15.43; 
    top -= 1.0295; 
} 

Microsoft.Office.Interop.Excel.OLEObject combobox = objs.Add("Forms.ComboBox.1", 
    System.Reflection.Missing.Value, 
    System.Reflection.Missing.Value, 
    false, 
    false, 
    System.Reflection.Missing.Value, 
    System.Reflection.Missing.Value, 
    1080, //static left value 
    27, //static top value 
    50, 
    15); 

내가 왼쪽과 엑셀 세포에서 최고 값을 얻기 위해 노력했지만 : 다른 엑셀 시트가 다른 열 무게와 함께 만들어집니다 때문에 왼쪽과 코드의 최고 값은 아래의 동적이어야한다 그렇게 할 수있는 방법을 찾을 수 없습니다. 누구든지 셀에서이 두 값을 동적으로 가져 오는 방법을 알고 있습니까?

답변

0

나는이 질문에 대한 답을 찾지 못했기 때문에. 나는 그것을 다른 방식으로 지금 만들었다.

vba 코드가 포함 된 템플릿 xls 파일을 만들었습니다. 이 코드는 워크 시트가 시작되는 동안 콤보 상자와 확인란을 만듭니다.

이 새로운 방식으로 인해 Excel Interop이 더 이상 필요하지 않습니다. NPOI는 이제 템플릿에서 Excel 시트를 만듭니다.