2012-03-15 2 views
9

Microsoft Interop을 사용하여 데이터를 읽습니다.Microsoft Interop : Excel 열 이름

엑셀 시트에서 열 이름은 A, B, C, D, ...., AA, AB ...와 같습니다. 이 열 이름을 읽을 방법이 있습니까?

다른 정보가 필요하면 알려주세요.

안부, Priyank는

+2

당신이 "열 이름을 읽기", 의미합니까? 너는 너의 어느 열이 있는지 알고 싶니? – Jetti

+0

@Jetti : 예 열 이름을 읽고 드롭 다운 목록에서 사용자에게 표시하고 싶습니다. –

+0

열 이름 별 ... 각 열의 행 1에있는 것이 맞습니까? – Jetti

답변

9
 Excel.Application xlApp = new Excel.Application(); 
    Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("workbookname"); 
    Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1]; // assume it is the first sheet 
    int columnCount = xlWorksheet.UsedRange.Columns.Count; 
    List<string> columnNames = new List<string>(); 
    for (int c = 1; c < columnCount; c++) 
    { 
     if (xlWorksheet.Cells[1, c].Value2 != null) 
     { 
      string columnName = xlWorksheet.Columns[c].Address; 
      Regex reg = new Regex(@"(\$)(\w*):"); 
      if (reg.IsMatch(columnName)) 
      { 
       Match match = reg.Match(columnName);    
       columnNames.Add(match.Groups[2].Value); 
      }      
     } 
    } 

이것은 다음 드롭 다운 상자에 특이 적으로 결합 할 수있는 List<string> 각 열 이름을 넣어 것입니다.

+0

어디서 찾을 수 있습니까 doc 전체 interop.excel 네임 스페이스 관련? MSDN을 살펴보면 흥미로운 것을 찾지 못하는 것 같습니다. – squelos

+0

@squelos [MSDN 여기] (http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel (v = office.11) .aspx)에서 몇 가지 정보를 찾을 수 있습니다. 내가 책에서 얻은 다른 정보. 나는 또한 [여기] 읽을 수있는 블로그 게시물이 (http://dontbreakthebuild.com/2011/01/30/excel-and-c-interop-with-net-4-how-to-read-data- C# 및 .NET 4.0으로 Excel 데이터를 읽는 거래처 – Jetti

+0

@Jetti : 이것은 완벽하게 작동합니다 :) :) –

-1

또한 엑셀 워크 시트 개체가 "excelWorksheet"입니다 수 있도록 인덱스

하여 열을 읽을 수는 당신이 사용할 수있는 값을 설정

로 액세스 할 수 있습니다

excelWorksheet .Cells [rowindex, columnindex] .Value = "test";

값을 얻기 위해 당신은

문자열 결과 = excelWorksheet.Cells 사용할 수 있습니다 [rowIndex에를, columnIndex에] .Value;

필드를 동적으로 그래서 당신의 코드를 작성에 오류가 표시 될 수 있습니다를 생성하는 것을 기억하지만 당신은 엑셀 시트 행에 다음 1 & 열이

excelWorksheet 텍스트를 설정할 예를 들어 그

를 무시 .Cells [1, 2]. 값 = "테스트";

나는 &이 완벽하게 작동 사용한

+1

-1, 질문에 전혀 대답하지 않습니다. – nawfal