
Cómo actualizar un achivo de Excel
Publicado por Leonardo (25 intervenciones) el 24/09/2008 20:51:21
Buenas tardes, estoy desarrollando una aplicación web para poder manejar archivos de (Excel utilizando los componentes de interoperabilidad (Microsoft.office.interop.excel), para crear un achivo excel no estoy teniendo problemas, simplemente hago algo como esto:
static void CrearXLS(string ArchivoFinal)
{
Excel.Application oXL;
Excel._Workbook oWB;
Excel._Worksheet oSheet;
oXL = new Excel.Application();
oXL.Visible = false;
//Creamos un nuevo libro
oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
//Nos posicionamos en la hoja de datos activa del Libro que se creó anteriormente
oSheet = (Excel._Worksheet)oWB.ActiveSheet;
//Agregamos algunos datos
oSheet.Cells[1, 1] = "Encabezado 1";
oSheet.Cells[1, 2] = "Encabezado 2";
oSheet.Cells[1, 3] = "Encabezado 3";
//Salvamos el archivo con el nombre que le enviamos de parámetro
oWB.SaveAs(ArchivoFinal, Excel.XlFileFormat.xlWorkbookDefault, null, null, false, false, Excel.XlSaveAsAccessMode.xlShared, false, false, null, null, null);
//Cerramos los objetos y liberamos recursos
oWB.Close(null, null, null);
oXL.Workbooks.Close();
oXL.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(oXL);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oWB);
oSheet = null;
oWB = null;
oXL = null;
}
Hasta aquí no tengo ningún problema, pero ahora en lugar de crear un nuevo archivo de excel necesito abrir un achivo existente en el servidor y agregarle una nota al final del archivo. Alguien tiene una idea de como puedo hacer esto??? E intengado utilizar el método Workbooks.Open, pero no se bien qué parámetos debo colocar. De antemano muchas gracias por la ayuda y les envío un cordial saludo a todos.
Leo
static void CrearXLS(string ArchivoFinal)
{
Excel.Application oXL;
Excel._Workbook oWB;
Excel._Worksheet oSheet;
oXL = new Excel.Application();
oXL.Visible = false;
//Creamos un nuevo libro
oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
//Nos posicionamos en la hoja de datos activa del Libro que se creó anteriormente
oSheet = (Excel._Worksheet)oWB.ActiveSheet;
//Agregamos algunos datos
oSheet.Cells[1, 1] = "Encabezado 1";
oSheet.Cells[1, 2] = "Encabezado 2";
oSheet.Cells[1, 3] = "Encabezado 3";
//Salvamos el archivo con el nombre que le enviamos de parámetro
oWB.SaveAs(ArchivoFinal, Excel.XlFileFormat.xlWorkbookDefault, null, null, false, false, Excel.XlSaveAsAccessMode.xlShared, false, false, null, null, null);
//Cerramos los objetos y liberamos recursos
oWB.Close(null, null, null);
oXL.Workbooks.Close();
oXL.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(oXL);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oWB);
oSheet = null;
oWB = null;
oXL = null;
}
Hasta aquí no tengo ningún problema, pero ahora en lugar de crear un nuevo archivo de excel necesito abrir un achivo existente en el servidor y agregarle una nota al final del archivo. Alguien tiene una idea de como puedo hacer esto??? E intengado utilizar el método Workbooks.Open, pero no se bien qué parámetos debo colocar. De antemano muchas gracias por la ayuda y les envío un cordial saludo a todos.
Leo
Valora esta pregunta


0