2011-04-19 3 views
4

C#의 소프트웨어를 사용하여 Excel 파일에서 셀 값을 가져 오려고합니다. 텍스트가 아닙니다. 텍스트가 열의 크기에 따라 다르므로 절대로 변경해서는 안되며, 소프트웨어가이를 방해해서는 안됩니다. 그래서 제 선택은 가치를 얻는 것이 었습니다.C# : Excel.interop을 사용하여 셀 값 얻기

범위 개체로 1 : 1 범위로 내 셀을 얻을 수 있지만 값 필드 및 Value2 필드를 언어로 인식 할 수 없습니다. 나는 get_Value()로 시도했지만 매개 변수가 필요하고 그것에 무엇을 넣을 지 모른다. 그것에 관한 문서를 찾지 못했다. 다음은 루프에서 추출한 코드입니다.

if((string)(ws_Varsheet.get_Range("L" + iIndex, "L" + iIndex).Text) != "") 
    { 

    rng_ResolutionCell = ws_Varsheet.get_Range("L" + iIndex, "L" + iIndex); 
    float iResolution; 
    rng_ResolutionCell.Cells.get_Value(&iResolution); //what to do here? 
    str_Resolution = ((string)iResolution.toString()).Replace(",","."); 
    str_Resolution = str_Resolution.Replace(" ",""); 
    mObj.Str_Resolution="1"; 
    } 

도와 주시겠습니까? 사전에 감사드립니다. 모든 것을 필요한 것보다 좀 더 복잡한

var cellRangeValue = rng_ResolutionCell.get_Value(System.Type.Missing); 

답변

2

this post on MSDN에서 그것은 본다. 기본적으로 셀이 간단 독서 등 : 또한

Xl.Range rng = sheet.Cells[row, column] as Xl.Range; 
return rng.Value2; 
7

나는 종종 발견 코드 : 당신이 뭔가를 원하는 것처럼

+3

Value2 속성은 문서에 따라 번호와 같은 날짜와 통화를 처리 - 그래서 만약 당신이 DateTime 개체가 필요하면 get_Value –

+0

@ CarlPritchett vabsolutely.thanks를 사용하면됩니다. – nawfal

+1

X1은 Microsoft.Office.Interop.Excel의 별칭 이름입니다. – John

-1

:

newWS = (Microsoft.Office.Interop.Excel.Worksheet)newWB.Worksheets[2]; 
newWS.Select(); 
string ExcelCellContent = (string)newWS.Cells[2, 1].Value2; 

사용법 :

if((string)(ws_Varsheet.Cells[x, y].Value2 != "") 
{ 
    // process 
} 
+0

정확히 이미 답변 되었습니까? – nawfal