Foros del Web » Programación para mayores de 30 ;) » .NET »

vb.net y excel

Estas en el tema de vb.net y excel en el foro de .NET en Foros del Web. e estado buscando y no encuentro porque no puedo declarar variables en excel, uso visual studio 2008 y excel 2007 y he usado la referencia ...
  #1 (permalink)  
Antiguo 21/07/2008, 14:31
 
Fecha de Ingreso: julio-2008
Mensajes: 15
Antigüedad: 15 años, 9 meses
Puntos: 0
vb.net y excel

e estado buscando y no encuentro porque no puedo declarar variables en excel, uso visual studio 2008 y excel 2007 y he usado la referencia Microsoft Excel 12.0 Object library que me tendria que permitir hacer esto:

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet


pero no me deja, cuando pongo el AS no me aparece la palabra Excel ni nada parecido alguien sabe xk puede ser?

tengo k importar algo mas? no se que hacer
  #2 (permalink)  
Antiguo 22/07/2008, 04:37
 
Fecha de Ingreso: julio-2008
Mensajes: 15
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: vb.net y excel

ya tengo solucion :

Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet

Pero ahora tengo esta duda:

Alguien sabe como abrir un archivo de excel desde vb.net?

tengo un openfiledialog pero no tengo muy claro como utilizarlo.

OpenFileDialog1.InitialDirectory = "c:\"
Me.OpenFileDialog1.ShowDialog()

esto me muestra el menu del archivo. ¿y ahora para que me abra el archivo?
  #3 (permalink)  
Antiguo 22/07/2008, 08:41
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: vb.net y excel

Puedes Usar los mismos objetos para hacer un open de tu libro de excel. pero igualmente lo puedes hacer usando ODBC y ADo.net. Revisa sobre el tema.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 23/07/2008, 00:38
 
Fecha de Ingreso: julio-2008
Mensajes: 15
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: vb.net y excel

Ya esta solucionado jaja. Os lo explico:

OpenFileDialog1.InitialDirectory = "C:\Obra"
If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
fichero = OpenFileDialog1.FileName
Process.Start(fichero)
End If

pero ahora para grabar como lo hago pork yo pensaba k seria asi:

xlBook.Save(fichero)

fichero contiene la ruta al cargar
xlbook es un objeto workbook

xk esta mal? como se haria?
  #5 (permalink)  
Antiguo 23/07/2008, 03:53
 
Fecha de Ingreso: julio-2006
Mensajes: 2
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: vb.net y excel

Yo lo hago asi y me funciona, sobre todo si quieres colocar las celdas de una determinada manera.

Otra forma es darle formato excel a la salida, mucho más rápido, si lo quieres ver pidemelo.


Protected Sub Export2Excel(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)


Dim dtSRlist As System.Data.DataTable

'dimensiones de objetos excel
Dim oExcel As New Excel.Application
Dim oBooks As Excel.Workbooks, oBook As Excel.Workbook
Dim oSheets As Excel.Sheets, oSheet As Excel.Worksheet
Dim oCells As Excel.Range
Dim sFile As String, sTemplate As String

'creamos el datatable si no lo tenemos

dtSRlist = GridView.DataSource

'indicamos la ruta del archivo Excel
sFile = "C:\hoja.xls"

'El nombre de la plantilla
sTemplate = "C:\template.xls"

'no queremos que se vea el Excel trabajando
oExcel.Visible = False : oExcel.DisplayAlerts = False
'abrimos la plantilla:
oBooks = oExcel.Workbooks
oBooks.Open(sTemplate)

'seleccionamos la hoja donde queremos exportar

oBook = oBooks.Item(1)
oSheets = oBook.Worksheets
oSheet = CType(oSheets.Item(1), Excel.Worksheet)

'damos un nombre a la hoja
oSheet.Name = "Hoja1"
oCells = oSheet.Cells

'llamamos a DumpData que vuelca los datos en el libro
DumpData(dtSRlist, oCells)
oSheet.SaveAs(sFile)
oBook.Close()

'Salir de Excel y liberar objetos y cerramos la conexión
oExcel.Quit()

Marshal.ReleaseComObject(oCells)
Marshal.ReleaseComObject(oSheet)
Marshal.ReleaseComObject(oSheets)
Marshal.ReleaseComObject(oBook)
Marshal.ReleaseComObject(oBooks)
Marshal.ReleaseComObject(oExcel)
oExcel = Nothing
oBooks = Nothing
oBook = Nothing
oSheets = Nothing
oSheet = Nothing
oCells = Nothing
System.GC.Collect()


End Sub



'Esta función contiene la lógica que exporta un DataTable a una hoja Excel:
Private Function DumpData(ByVal dt As DataTable, ByVal oCells As Excel.Range)
Dim dr As DataRow, ary() As Object
Dim iRow As Integer, iCol As Integer

'Output Column Headers
For iCol = 0 To dt.Columns.Count - 1
oCells(2, iCol + 1) = dt.Columns(iCol).ToString
Next

'Output Data
For iRow = 0 To dt.Rows.Count - 1
dr = dt.Rows.Item(iRow)
ary = dr.ItemArray
For iCol = 0 To UBound(ary)
oCells(iRow + 3, iCol + 1) = ary(iCol).ToString
Response.Write(ary(iCol).ToString & vbTab)
Next
Next
End Function
  #6 (permalink)  
Antiguo 23/07/2008, 10:10
 
Fecha de Ingreso: julio-2008
Mensajes: 15
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: vb.net y excel

Yo lo unico k kiero hacer es traducir esto al vb.net

esto es vb 6

ActiveWorkbook.Save


simplemente con esto se guarda el fichero de excel

pues bien como lo hago yo en .net????
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:45.