![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
02/07/2008, 03:56
|
| | Fecha de Ingreso: diciembre-2007
Mensajes: 100
Antigüedad: 17 años, 2 meses Puntos: 0 | |
Respuesta: Leer celdas determinadas en un excel Es la misma respuesta que he dado otro post, solucionando un problema de este tipo de objetos:
En VS ir a Websites/Proyecto -> Add References -> Pestañ COM y ahi elejir
Microsoft Ofice Interop
Microsoft Excel 11.0 Object Library
Una vez que ves todos los componentes COM, tienes que agregar:
1) Microsoft Office Interop 11.0
2) Microsoft Excel 11.0
Tras haber agregado las referencias en el código desde donde quieres trabajar con Excel debes agregar los siguientes Imports:
1) Imports System.Runtime.InteropServices.Marshal
2) Imports Microsoft.Office.Interop
A partir de ahora puedes trabajar con Excel sin problemas.
El modo de trabajo básicamente consiste en crear un objeto que de algún modo hará de aplicación Excel
Dim oXL As Excel.Application
Un Libro de Excel
Dim oWB As Excel.Workbook
Y una oja del libro
Dim oSheet As Excel.Worksheet
Una vez declarados los tres objetos metemos la hoja dentro del libro, y el libro dentro de la aplicación Excel (como si trabajásemos con el Excel de verdad...)
Inicializar Excel y obtener un objeto de Aplicacion
oXL = CreateObject("Excel.Application")
oXL.Visible = True
' Obtener nuevo libro (workbook)
oWB = oXL.Workbooks.Add
' Activar la hoja del libro
oSheet = oWB.ActiveSheet
Después de todo eso aplicamos métodos a la hoja para escribirla, cambiarle los tipos de letra... etc
' Escribir titulo del informe
oSheet.Cells(1, 1).Value = "Estoy escribiendo en una celda de Excel "
oSheet.Cells(1, 2).Value = "Estoy escribiendo en la siguiente celda "
' Poner un rango en negrita...
oSheet.Range("A1", "D1").Font.Bold = True
Este ejemplo es para escribir un documento. Supongo queal crear la aplicación si en vez de "NewExcelAplication" le pasas tu fichero excel, abrirá ese en vez de uno nuevo:
oXL = CreateObject("C\:UnExcel.xls")
Si no es ese método para abrir uno existente seguro que hay uno, yo he trabajado con plantillas pero ahora mismo no encuentro el código exacto.
De todos modos te dejo un link que hablan algo sobre ello:
http://www.c-sharpcorner.com/UploadFile/mgold/HowtoOepnandReadanExcelSpreadsheetinaListViewin.NE T11282005034134AM/HowtoOepnandReadanExcelSpreadsheetinaListViewin.NE T.aspx
Si haces en google la siguietne búsqueda "Accessing Excel from .NET" entocntrarás bastantes ejemplos.
Espero que te haya servido de algo, y si tienes alguna cosa mas que pregutnar, para eso estamos. |