2009-12-01 5 views
11

데이터베이스의 데이터에서 수많은 Excel 파일을 만드는 C# 응용 프로그램이 있습니다. 이 부분은 잘 작동합니다. 그러나 내 사용자는 시트 탭을 데이터베이스의 필드를 반영하도록 수정할 수 있는지 질문했습니다. 그러나 간단하게 들리지만 이름을 재설정하려고하면 읽기 전용이며 설정할 수 없다고 알려줍니다. 나는 다음을 시도하고 그것은 작동하지 : ALSO려고 시도Excel 스프레드 시트의 C#에서 시트 이름을 변경하는 방법

xlApp.Sheets[0].Range["A1"].Value = "NewTabName"; 

을 :

xlApp.Name = "NewTabName"; 

내가 구글 검색 않았다뿐만 아니라 나를 위해 작동하지 않았다 다른 접근 방식을 보았다. 그리고 약간의 응답은 그것이 읽기 전용이고 완료 될 수 없다는 것을 나타냈다.

이것은 단순해야하는 것처럼 보입니다. 내가 어떻게 해.

답변

22

실제 워크 시트에 액세스해야합니다. 다음과 같이 시도하십시오.

Microsoft.Office.Interop.Excel.Worksheet worksheet = (Worksheet)xlApp.Worksheets["Sheet1"]; 
    worksheet.Name = “NewTabName”; 
+0

감사합니다. –

+1

매력처럼 일했습니다. 고마워요! ... 잠깐 ... 매력은 실제로 작동합니까? ... – Lukas

+0

이것은 잘못된 anwser입니다! 클라이언트의 언어가 다르면 Sheet1이 존재하지 않습니다! 예를 들어 폴란드어의 경우이 문자열은 Sheet1 대신 "Arkusz1"이됩니다. –

관련 문제