2010-01-06 33 views
10

5 çalışma sayfası içeren bir Excel dosyası var ve açmak için C# kodu ile açmak istiyorum ve açıldığında sayfa numarası 3'ün etkinleştirilmesini istiyorum.Belirli bir çalışma sayfasında Excel dosyasını açın

Bunu nasıl yapabilirim?

+0

Eğer excel otomatik hale getirmek isteyen veya uygulamanızda bir ızgara verileri görüntülemek istiyorsunuz musunuz? Veya başka bir şey? –

cevap

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"); 

Umut bu yardımcı olur

MDSN bilgi here

+0

sadece çalışır .Visible = True. Peki ya .Visible = False? – Denis

3

böyle bir şey hakkında ne: (denenmemiş) Bunun gibi

//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

bu benim için çalıştı :) – Somebody

+0

sadece çalışır .Visible = True – Denis

+0

Birisi lütfen onaylayabilirsiniz @Denis – Si8

1

görsel geribildirim sunmak isteyen varsa Kullanıcıya, bu iki ifade etkinleştirilmiş kağıdı ve se'yi ayarlayacaktır. buna göre aralık Öğr:

Excel.Range başlatılıyor hemen önce aşağıdaki ifadeyi içeren düşünün ...

// Set Aktif levha Excel'de

excelWorksheet.Activate() Ayrıca

Excel'de

// Set Aktif aralık ... hemen Excel.Range başlatılıyor sonra aşağıdaki ifadeyi düşünün 0

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); 
    } 
İlgili konular