Откройте файл Excel на определенном листе

У меня есть файл Excel с 5 рабочими листами, и я хочу, чтобы с кодом С# его открывали и когда он открывается, я хочу активировать номер 3.

Как я могу это сделать?

Ответ 1

Вот так:

 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 здесь

Ответ 2

Что-то вроде этого: (untested)

//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();

Ответ 3

Если вы хотите представить визуальную обратную связь для Пользователя, эти два оператора будут устанавливать активированный лист и соответственно выбирать диапазон:

Рассмотрим включение следующего утверждения непосредственно перед инициализацией Excel.Range...

//Установить активный лист в Excel

excelWorksheet.Activate()

Также рассмотрите следующий оператор сразу после инициализации Excel.Range...

//Установить активный диапазон в Excel

excelCell.Activate()

Ответ 4

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