2010-01-06 4 views
10

5 개의 워크 시트가있는 Excel 파일이 있으며 C# 코드를 열고 을 열고 열면 시트 번호 3이 활성화됩니다.특정 워크 시트의 Excel 파일 열기

어떻게하면됩니까?

+0

Excel을 자동화 하시겠습니까? 아니면 응용 프로그램의 눈금에 데이터를 표시 하시겠습니까? 또는 다른 것? –

답변

23

:

using Excel; 

Excel.Application excelApp = new Excel.ApplicationClass(); 

    // if you want to make excel visible to user, set this property to true, false by default 
    excelApp.Visible = true; 

// open an existing workbook 
string workbookPath = "c:/SomeWorkBook.xls"; 
    Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath, 
     0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", 
     true, false, 0, true, false, false); 



// get all sheets in workbook 
    Excel.Sheets excelSheets = excelWorkbook.Worksheets; 

    // get some sheet 
string currentSheet = "Sheet1"; 
    Excel.Worksheet excelWorksheet = 
     (Excel.Worksheet)excelSheets.get_Item(currentSheet); 

// access cell within sheet 
    Excel.Range excelCell = 
     (Excel.Range)excelWorksheet.get_Range("A1", "A1"); 

희망이 도움이

MDSN 정보 here

+0

.Visible = True로만 작동합니다. 어떻습니까? Visible = False? – Denis

3

이런 일에 대해 무엇 : (안된)이 같이

//using Excel = Microsoft.Office.Interop.Excel; 

Excel.ApplicationClass app = new Excel.ApplicationClass(); 
Excel.Workbook workbook = app.Workbooks.Open("YourFile.xls", 
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
    Type.Missing, Type.Missing, Type.Missing, Type.Missing); 
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Sheets["Number 3"]; 
worksheet.Activate(); 
+0

이것은 나를 위해 일했습니다. – Somebody

+0

은 .Visible = True 인 경우에만 작동합니다. – Denis

+0

누군가가 @Denis를 확인하십시오. – Si8

1

시각적 피드백을 제공하고자하는 경우 사용자에게이 두 문장은 활성화 된 시트를 설정하고 se 이에 따라 범위를 lect :

은 Excel.Range를 초기화 직전에 다음과 같은 성명을 포함하여 고려 ...

// 설정 활성 시트를 Excel에서

excelWorksheet.Activate을() 또한

Excel.Range를 초기화 한 직후에 다음 구문을 고려하십시오.

// Excel에서 활성 범위 설정

excelCell.Activate()

0
public static Workbook openExternalWorkBook(String fileName) 
    { 
     Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();    
     excel.Visible = false; 
     return excel.Workbooks.Open(fileName, false); 
    } 
관련 문제