1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
Public Sub CreateGraphic(ByVal dt As System.Data.DataTable, ByVal xOrigine As Integer, ByVal yOrigine As Integer, ByVal graphWidth As Integer, ByVal graphHeith As Integer)
Dim chartRange As Microsoft.Office.Interop.Excel.Range
Dim charts As Microsoft.Office.Interop.Excel.ChartObjects
Dim chartObj As Microsoft.Office.Interop.Excel.ChartObject
Dim firsLine As Integer = 1
Dim firstCol As Integer = 1
Me.PutDatatable(firsLine, firstCol, dt)
charts = _xlSheet.ChartObjects()
's'il y a deja des graphiques sur la page les supprimer
If charts.Count > 0 Then
charts.Delete()
End If
'recupere un nouveau graphic
chartObj = charts.Add(xOrigine, yOrigine, graphWidth, graphHeith)
'selectionner les donnees
chartRange = _xlSheet.Range(("A" & firsLine), ("B" & dt.Rows.Count + firsLine - 1))
chartObj.Chart.SetSourceData(chartRange)
'le style de graphic
chartObj.Chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine
'mettre les noms de colonnes en absyce
chartObj.Chart.PlotBy = Microsoft.Office.Interop.Excel.XlRowCol.xlColumns
chartObj.Chart.ApplyDataLabels(Microsoft.Office.Interop.Excel.XlDataLabelsType.xlDataLabelsShowNone)
chartObj.Chart.HasLegend = True
'mettre la legende
Dim xlAxisValue As Microsoft.Office.Interop.Excel.Axes
'xlAxisCategory = CType(chartObj.Chart.Axes(, _
' Microsoft.Office.Interop.Excel.XlAxisGroup.xlPrimary), Microsoft.Office.Interop.Excel.Axes)
'xlAxisCategory.Item(Microsoft.Office.Interop.Excel.XlAxisType.xlCategory).HasTitle = True
'xlAxisCategory.Item(Microsoft.Office.Interop.Excel.XlAxisType.xlCategory).AxisTitle.Characters.Text = "Items"
xlAxisValue = CType(chartObj.Chart.Axes(, Microsoft.Office.Interop.Excel.XlAxisGroup.xlPrimary), Microsoft.Office.Interop.Excel.Axes)
xlAxisValue.Item(Microsoft.Office.Interop.Excel.XlAxisType.xlValue).HasTitle = True
xlAxisValue.Item(Microsoft.Office.Interop.Excel.XlAxisType.xlValue).AxisTitle.Characters.Text = "Nombre de "
_xlApp.Visible = True
_xlBook.Activate()
End Sub |
Partager