Announcement

Collapse
No announcement yet.

Excel-Graphik aus VB.net formatieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Excel-Graphik aus VB.net formatieren

    Hi!
    Ich möchte eine Messwertreihe, dessen Daten in meinem Programm vorhanden sind, als Excel-Diagramm ausgeben.

    Prinzipiell klappt das auch, aber mir bleiben für mich wichtige Dinge im Verborgenen, wie z.B. Achsenformatierungen des Koordinatensystems, also dass z.B. die x-Achse Werte von 0 bis 100 anzeigt, anstatt automatisch von Messwertgrenze zu Messwertgrenze.

    Das ist mein Programmabschnitt:

    [highlight=vbnet]
    Dim ExApp As New Microsoft.Office.Interop.Excel.Application()
    Dim NichtNull As Integer = 0
    With ExApp
    .Visible = True
    .Workbooks.Add()
    .Range("A1").Value = "Messwerte"
    For n As Short = 1 To TempXYZ1.Length
    If TempXYZ1(n - 1) <> 0 Then
    NichtNull += 1
    ExApp.ActiveSheet.Cells(NichtNull, 1).value = CStr(TempXYZ1(n - 1))
    End If
    Next
    End With
    Dim r As Microsoft.Office.Interop.Excel.Range = _
    ExApp.ActiveSheet.Range("A1:A" & CStr(NichtNull))
    Dim ch As Microsoft.Office.Interop.Excel.ChartObject = _
    ExApp.ActiveSheet.Chartobjects.add(90, 30, (Log(TempXYZ1.Length)) ^ 2 _
    * 100, 300)
    With ch.Chart
    .ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLineM arkers
    .SetSourceData(r)
    .HasTitle = True
    .ChartTitle.Characters.Text = "Temperaturverlauf"
    End With
    [/highlight]

    "TempXYZ1" ist ein Array mit den Temperaturwerten.

    Ich denk mal, man müsste was in dem Bereich ändern:
    [highlight=vbnet]
    Dim ch As Microsoft.Office.Interop.Excel.ChartObject = _
    ExApp.ActiveSheet.Chartobjects.add(90, 30, (Log(TempXYZ1.Length)) ^ 2 _
    * 100, 300)
    With ch.Chart
    .ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLineM arkers
    .SetSourceData(r)
    .HasTitle = True
    .ChartTitle.Characters.Text = "Temperaturverlauf"
    End With
    [/highlight]
    Die Ln-Funktion kann man ignorieren, ist einfach zur übersichtlicheren Darstellung des Graphs da.

    Darüber hinaus würde ich auch noch gerne weitere Formatierungen wie verschiedene Linienfarben haben (zur Darstellung mehrerer Graphen, insgesamt 4), die Linienart abändern (Eine einfache, durchgehende Linie wär mir am liebsten, ohne fetten Punkt bei jedem Messwert) sowie die Legende anders beschriften.

    Kann mir da jemand auf die Sprünge helfen?

    mfg, Tobi
    Zuletzt editiert von gfoidl; 21.11.2008, 13:02. Reason: Titel geändert

  • #2
    Hallo,

    wenn es nicht unbendingt Excel sein muss würde ich zB die MsChart-Komponente empfehlen. Download hier: http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c
    Ist Freeware und direkt konfigurierbar - auch per Code.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Danke! Gibts ne Alternative zu Excel?

      Comment


      • #4
        Gibts ne Alternative zu Excel?
        Ja gibts schon, zB bei OpenOffice.

        Dir gehts darum Daten zu visualisieren in Form eines Diagramms. Da gibt es unzählige Komponenten. Momentan verwende ich dazu MsChart (Link siehe oben).

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Open Office steht mir leider nicht zur Auswahl, da man auf den Schul-PCs nix installieren kann. Office ist aber drauf.

          Comment

          Working...
          X