Tengo un archivo de Excel con 5 hojas de trabajo y quiero con el código C# para abrirlo y cuando se abre quiero que se active el número de hoja 3.Abrir archivo de Excel en una hoja de cálculo específica
¿Cómo puedo hacer eso?
Tengo un archivo de Excel con 5 hojas de trabajo y quiero con el código C# para abrirlo y cuando se abre quiero que se active el número de hoja 3.Abrir archivo de Excel en una hoja de cálculo específica
¿Cómo puedo hacer eso?
De esta manera:
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");
Esperanza esto ayuda
MDSN información here
? Solo funciona con .Visible = True. ¿Qué tal con .Visible = False? – Denis
¿Qué pasa algo como esto: (no probado)
//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();
Si querer presentar una respuesta visual para el usuario, estas dos declaraciones establecerán la hoja activada y se Lect el rango en consecuencia:
considerar la inclusión de la siguiente declaración inmediatamente antes de inicializar el Excel.Range ...
// conjunto de planos activa en Excel
excelWorksheet.Activate()
también considere la siguiente declaración inmediatamente después de inicializar Excel.Range ...
// Establecer rango activo en Excel
excelCell.Activate()
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);
}
¿Desea automatizar Excel o quieres para mostrar los datos en una cuadrícula en su aplicación? ¿O algo mas? –