2017-11-21 7 views
0

스프레드 시트를 만들려면 Excel Interop 인터페이스에 액세스하는 프로그램을 C#으로 작성하고 있습니다. 내 프로그램은 워크 시트를 만든 다음 첫 번째 행에 텍스트를 입력합니다. 첫 번째 행의 글꼴을 제목으로 굵게 설정하려고하지만 예상대로 작동하지 않습니다.Excel Interop의 범위 문제

먼저 내가 행에 대한 범위 개체를 만든 다음 나는 BOLD 속성

Range rng1 = ws.Rows[1]; 
rng1.Style.Font.Bold = true; 

이 확인을 작동하고 이후 나는 대담한 헤더 행을 설정합니다. 그러나 스프레드 시트의 나머지 부분도 굵게 표시되는 것으로 나타났습니다. 그래서 그것을 끈 몇 가지 코드를 추가했지만 예상대로 작동하지 않았다. 코드는 다음과 같습니다

Range rng2 = ws.Rows[rownum]; 
rng2.Style.Font.Bold = false; 

은 "ROWNUM"변수가 2에서 시작하여 증가 (12)를 통해 그것은 그래서이 첫 번째 제로 중복을 갖는 제 2 범위 객체를 생성해야 1로 설정 적이 없어요. 그러나 웬일인지, 이것은 모든 것에 대한 굵은 속성을 끕니다.

굵은 글꼴을 켜거나 끄면 스프레드 시트 전체가 영향을받는 것처럼 보입니다. 오, 그리고 나는이 순서를 어떤 순서로도 할 수있다.

어떤 아이디어가 있으며 어떻게 해결할 수 있습니까?

+1

할당하거나 세포의 대담을 설정할 때/어떤 셀을 시작하고 끝낼 지 지정해야하는 행 .. 또한 충분한 코드를 게시하지 않은 것으로 보입니다. 현재 문제에 관련된 모든 관련 코드를 게시 할 수 있습니까? – MethodMan

+2

최소 및 전체 예제를 게시하십시오 plz – Steve

+0

이것은 매우 이상합니다. Excel이 위의 셀 형식을 상속받을 가능성이 거의 있음을 알 수 있습니다. 나는 이것을 한 행에서 보았지만 결코 열을 가로 지르지 않았으므로 아마 그렇게 할 수 없을 것이다. 하지만 이전 두 가지 의견에 동의합니다. 외부인이 문제를 반복 할 수있을만큼 충분한 코드를 게시하면 긴 방법이 될 것입니다. – Hambone

답변

0

셀을 굵은 체로 설정할 셀의 범위를 가져옵니다. 이 경우 첫 번째 열에서 여섯 번째 열까지. ([y를 X] 세포의 y 축주의) :

Excel.Range titleRange= worksheetName.get_Range((object)worksheet.Cells[1, 1], (object)worksheet.Cells[1, 6]); 
titleRange.Font.Bold = System.Drawing.FontStyle.Bold; 

(필요한 경우) 참조를 포함하는 것을 잊지 마십시오

using System.Drawing;