Visual Basic.NET - LLENAR ARRAYS DESDE EXCEL

 
Vista:

LLENAR ARRAYS DESDE EXCEL

Publicado por Jacqueline (8 intervenciones) el 23/06/2005 21:58:07
HOLA USTEDES SABEN COMO LLENAR UN ARRAYS SACANDO LOS DATOS DE UNA PLANILLA EXCEL
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:LLENAR ARRAYS DESDE EXCEL

Publicado por Harold (411 intervenciones) el 24/06/2005 12:06:25
'Suponto ya hiciste la referencia a Excel.....
'Este eejmplo abre excel sin mostrarlo, coge los datos de las columnas usadas, filas usdadas, llena el arreglo con la informacion de las celdas de excel, llena un datagrid en vb.net...

espero te sirva...............

Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Dim numFusadas, numCusadas As Integer
Dim file As String
Dim Myarray(0, 0)
Dim myTable As DataTable
Dim myRow As DataRow
Dim infarray As Integer

Private Sub cmdFillArray_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdFillArray.Click

file = "C:\Documents and Settings\Laptop\Mis documentos\ExceltoVB.xls"
'xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
xlBook = xlApp.Workbooks.Open(file) ')',, Excel.Workbook)
xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
'MsgBox(xlApp.ActiveWorkbook.Worksheets(1).Count.ToString)
xlApp.ActiveWorkbook.Worksheets(1).Select() 'activa la hoja que deseas
'xlapp.ActiveWorkbook.CustomDocu
numFusadas = xlSheet.UsedRange.Rows.Count - 1
numCusadas = xlSheet.UsedRange.Columns.Count
ReDim Myarray(numFusadas, numCusadas)
myTable = MakeNamesTable()

'Llena el arreglo Myarray
For i = 1 To numFusadas
For x = 1 To numCusadas '
Myarray(i, x) = xlSheet.Cells(i, x).Value
Next
Next

infarray = Myarray.GetUpperBound(0)
For i = 2 To infarray
myRow = myTable.NewRow()
myRow("IdPedido") = CInt(Myarray(i, 1))
myRow("IdEmpleado") = CInt(Myarray(i, 2))
myRow("FechaPedido") = Format(Myarray(i, 3), "Short Date")
myRow("Destinatario") = Myarray(i, 4)
myTable.Rows.Add(myRow)
Next

'llenar grid
DataGrid1.DataSource = myTable

'internamente cierra excel y lo libera
xlBook.Close(False)
xlApp.Quit()
xlApp = Nothing

End Sub

Private Function MakeNamesTable() As DataTable
' Cre un datatable llamado 'Pedidos.'
Dim namesTable As DataTable = New DataTable("Names")

' inserta 4 columnas a la tabla.
Dim IdPedidoCol As DataColumn = New DataColumn
IdPedidoCol.DataType = System.Type.GetType("System.Int32")
IdPedidoCol.ColumnName = "IdPedido"
namesTable.Columns.Add(IdPedidoCol)

Dim IdEmpleadoCol As DataColumn = New DataColumn
IdEmpleadoCol.DataType = System.Type.GetType("System.Int32")
IdEmpleadoCol.ColumnName = "IdEmpleado"
namesTable.Columns.Add(IdEmpleadoCol)

Dim FechaPedCol As DataColumn = New DataColumn
FechaPedCol.DataType = System.Type.GetType("System.DateTime")
FechaPedCol.ColumnName = "FechaPedido"
namesTable.Columns.Add(FechaPedCol)

Dim DestinatarioCol As DataColumn = New DataColumn
DestinatarioCol.DataType = System.Type.GetType("System.String")
DestinatarioCol.ColumnName = "Destinatario"
namesTable.Columns.Add(DestinatarioCol)

' Crea un arreglo para el datacolumn
Dim keys(0) As DataColumn
keys(0) = IdPedidoCol
namesTable.PrimaryKey = keys
'devuelve el datatable
MakeNamesTable = namesTable
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:LLENAR ARRAYS DESDE EXCEL

Publicado por Jacqueline (8 intervenciones) el 24/06/2005 16:20:02
OK MUCHAs GRACIAS ME SIRVE PARA ORIENTARME, TE PASASTE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar