2013-01-03 1 views
0

Excel 파일에서 셀 채우기 패턴을 검색하려면 어떻게해야합니까? 셀에 채우기 패턴이 있는지 여부에 따라 데이터를 채우고 싶습니다. 아래는 지금까지 해봤지만, "xlPatternNone"은 셀이 어떻게 보이더라도 항상 반환됩니다. 감사.C#을 사용하여 Excel 셀 채우기 패턴을 얻는 방법?

Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Sheets[sheetName]; 
     Excel.Range cell = (Excel.Range)workSheet.Range[column + row.ToString()]; 
     if ((Excel.XlPattern)((Excel.Style)cell.Style).Interior.Pattern == Excel.XlPattern.xlPatternNone) 
      cell.Value = value; 

정보 : 엑셀 2007, C#을, 마이크로 소프트 상호 운용성 라이브러리

답변

0

이 확실히 작동합니다

var workSheet = (Worksheet) workBook.Sheets["Sheet1"]; 
var cell = workSheet.Range["A1"]; 
var style = (XlPattern) cell.Interior.Pattern; 

그래서 저는 당신이 셀에 Style 속성을 무시하고 단지에 액세스하는 것이 좋을 것 세포의 Interior. 그래도 작동하지 않으면 column + row.ToString()이 정확한 셀을 확실히 가리키고 있는지 확인하는 것이 좋습니다.

+0

큰 도움을주었습니다. 스타일 속성/개체가 작동하지 않는 이유는 무엇입니까? – sammy

+0

걱정할 필요가 없습니다. 이는 셀에 직접 적용된 패턴과는 분명히 다른 여러 가지 서식 규칙 ("셀 스타일"을 통해)을 포함하는 "스타일"을 적용 할 수 있기 때문입니다. –

+0

@SimonMcKenzie : 안녕하세요, OpenXml을 사용할 때 같은 문제가 있습니다. 내 문제는 : 셀 스타일을 Excel에 적용한 경우 셀에 데이터를 추가 할 수 없습니다. – Kulkarni