excel

10/10/2005 - 09:31 por Oscar Rodriguez | Informe spam
Hola

Utilizando vb .net, como puedo crear una hoja de excel con varias pestañas,
y como le indico en que pestaña tengo que grabar?

Saludos
 

Leer las respuestas

#1 SoftJaén
10/10/2005 - 12:49 | Informe spam
"Oscar Rodriguez" escribió:

Utilizando vb .net, como puedo crear una hoja de excel con
varias pestañas, ...



Hola, Oscar:

Con lo de "varias pestañas", me imagino que te estarás refiriendo a crear un
nuevo libro de trabajo de Excel (Libro1.xls), con varias hojas de cálculo
(Hoja1, Hoja2, Hoja3, etc.).

Si es así, deberás de utilizar en tu solución .net, una referencia COM a la
biblioteca «Microsoft Excel x.0 Object Library», e importar el espacio de
nombres «Microsoft.Office.Interop».

Seguidamente utilizarías el siguiente código para crear un nuevo libro de
trabajo:

Dim oExcel As Excel.Application
Dim oBook As Excel.Workbook

' Creamos un nuevo libro de trabajo de Excel.
oExcel = New Excel.Application
oBook = oExcel.Workbooks.Add

' Guardamos el libro de trabajo, y cerramos Excel.
oBook.SaveAs("C:\Mis documentos\Libro25.xls")
oBook = Nothing
oExcel.Quit()
oExcel = Nothing

' Obligamos a que se lleve a cabo la
' recolección de elementos no utilizados.
GC.Collect()

El nuevo libro de trabajo se creará con tantas hojas de cálculo como tengas
establecidas en las Opciones de Microsoft Excel, concretamente en el cuadro
«Número de hojas en nuevo libro» de la ficha «General». Por defecto, dicho
valor es 3, por lo que los nuevos libros que se creen, tendrán tres hojas de
cálculo.

No obstante, si deseas añadir más hojas de cálculo al nuevo libro de
trabajo, puedes utilizar el método «Add» de la colección «Sheets», de un
objeto «Excel.Workbook»:

' Añadimos tres hojas de cálculo más a la colección Sheets
' antes de guardar el libro de trabajo
'
oBook.Sheets.Add()
oBook.Sheets.Add()
oBook.Sheets.Add()

... y como le indico en que pestaña tengo que grabar?



Para indicar la hoja de cálculo (pestaña) donde deseas trabajar, tendrás que
crear un objeto «Excel.Worksheet» para referenciar la hoja de cálculo:

Dim oSheet As Excel.Worksheet

' Referenciamos el objeto Excel.Worksheet
oSheet = CType(oBook.Worksheets(1), Excel.Worksheet)

' Añadimos los datos a las celdas de la primera
' hoja de cálculo del nuevo libro de trabajo.
With oSheet
.Range("A1").Value = "Apellidos"
.Range("B1").Value = "Nombre"
.Range("A1:B1").Font.Bold = True
.Range("A2").Value = "Rodriguez"
.Range("B2").Value = "Oscar"
End With

Por supuesto, todo éste código lo deberás de ejecutar antes de guardar y
cerrar el libro de trabajo, tal y como te he indicado en el ejemplo
anterior.

Te advierto que el código anterior lo he probado utilizando la referencia a
la versión 11.0 de la biblioteca de Excel, la cual se corresponde con
Microsoft Excel 2003, por lo que no te puedo indicar si trabaja igual de
bien con otra versión anterior de Excel.

Para más información sobre cómo trabajar con Excel desde Visual Basic .NET,
te remito a la lectura del siguiente artículo de la Base del Conocimiento
(en inglés):

How to automate Microsoft Excel from Visual Basic .NET
http://support.microsoft.com/defaul...-US;301982

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares