PDA

Vollständige Version anzeigen : Daten aus Excel in ein Array einlesen


mjanz
15.02.2007, 22:31
Hi Leute,

ich versuche gerade Daten aus Excel in ein Array einzulesen. Die dazu gehörige Klasse sieht so aus:


'--------------------------------------------------------------
'Imports
'--------------------------------------------------------------
Imports Microsoft.Office.Interop.Excel
Imports Excel = Microsoft.Office.Interop.Excel
Imports System.Windows.Forms.Form
Imports System.Windows.Forms
Imports Microsoft.VisualBasic



Public Class GraphZeichnen

'--------------------------------------------------------------
'Eigenschaften
'--------------------------------------------------------------

Dim fXWert As Double
Dim fYWert As Double
Dim fKoordinatenArray As Double(,)
Dim AnzSpalten As Integer
Dim AnzZeilen As Integer
Dim path As String


'--------------------------------------------------------------
'Get/Set - Methoden
'--------------------------------------------------------------

Public Property pfXWert() As Double
Get
Return fXWert
End Get
Set(ByVal Value As Double)
fXWert = Value
End Set
End Property

Public Property pfYWert() As Double
Get
Return fYWert
End Get
Set(ByVal Value As Double)
fYWert = Value
End Set
End Property

Public Property pfKoordinatenArray() As Double(,)
Get
Return fKoordinatenArray
End Get
Set(ByVal Value As Double(,))
fKoordinatenArray = Value
End Set
End Property

Public Property pAnzSpalten() As Integer
Get
Return AnzSpalten
End Get
Set(ByVal Value As Integer)
AnzSpalten = Value
End Set
End Property

Public Property pAnzZeilen() As Integer
Get
Return AnzZeilen
End Get
Set(ByVal Value As Integer)
AnzZeilen = Value
End Set
End Property

Public Property ppath() As String
Get
Return path
End Get
Set(ByVal Value As String)
path = Value
End Set
End Property


'--------------------------------------------------------------
'Methoden
'--------------------------------------------------------------

Public Function KoordinatenArrayFuellen()

Dim i As Integer
Dim j As Integer
Dim Excel As New Excel.Application

path = CurDir()

Excel.Workbooks.Open(path & "\Kurvendarstellung.xls")
Excel.Visible = True

AnzZeilen = Excel.Range("A1").End(XlDirection.xlDown).Row
AnzSpalten = Excel.Range("A1").End(XlDirection.xlToRight).Column

ReDim Preserve fKoordinatenArray(AnzZeilen - 1, AnzSpalten - 1)

For i = 0 To AnzSpalten - 1

For j = 0 To AnzZeilen - 1

fKoordinatenArray(j, i) = Convert.ToDouble(Excel.Cells(j + 1, i + 1))

Next j

Next i

End Function

End Class



Ich bekomme dabei immer die Fehllermeldung, dass fKoordinatenArray vom Typ Double nicht mit dem Typ Range befüllt werden kann.

Ich habe s mit Convert.ToDouble versucht, ich habe fKoordinatenArray als Range definiert, aber nix klappt... Was mache ich falsch? Bitte helft mir...!

Tausend Dank im Voraus!

Gruß
Marcus

P.S. Die Exceldatei habe ich mit angehängt...

mSpike
16.02.2007, 11:18
Hallo mjanz,

versuch's doch einfach mal mit Cell().Value!

MfG, mSpike

mjanz
16.02.2007, 11:59
Mann, manchmal sieht man den Wald vor lauter Bäumen nicht...!

Tausend Dank!