使用vb.net创建三维饼图
我试图创建一个三维饼图,但出现了一个错误 这里是我使用的代码使用vb.net创建三维饼图,vb.net,Vb.net,我试图创建一个三维饼图,但出现了一个错误 这里是我使用的代码 Public Sub ShowChart(ByVal mylist As List(Of Classdayhag)) Dim celltable As excel.Range Dim indexcol As Integer Dim indexrow As Integer Try With xlworksheet c
Public Sub ShowChart(ByVal mylist As List(Of Classdayhag))
Dim celltable As excel.Range
Dim indexcol As Integer
Dim indexrow As Integer
Try
With xlworksheet
celltable = .Range("A1", "B" & (mylist.Count - 1))
indexcol = 1
indexrow = 1
For Each item As Classdayhag In mylist
.Cells(indexrow, indexcol) = item.dayname
.Cells(indexrow, indexcol + 1) = item.count
indexrow += 1
Next
celltable.Select()
Dim mychart As New excel.Chart
With mychart
.Shapes.AddChart.Select()
.ChartType = excel.XlChartType.xl3DPie
.SetSourceData(Source:=celltable)
.ApplyLayout(6)
End With
End With
objexcel.Visible = True
RaiseEvent isshown()
objexcel = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message)
objexcel = Nothing
End Try
End Sub
无法将“Microsoft.Office.Interop.Excel.ChartClass”类型的COM对象强制转换为“Microsoft.Office.Interop.Excel”类型的接口时出错。\u
在第一线升起
.Shapes.AddChart.Select()
提前谢谢我成功了
Public Sub ShowChart(ByVal mylist As List(Of Classdayhag), ByVal title As String)
'create chart
Dim xlCharts As excel.ChartObjects
Dim myChart As excel.ChartObject
Dim celltable As excel.Range
Dim indexcol As Integer
Dim indexrow As Integer
Try
xlCharts = CType(xlworksheet.ChartObjects, excel.ChartObjects)
myChart = xlCharts.Add(10, 80, 400, 400)
With xlworksheet
celltable = .Range("A1", "B" & (mylist.Count))
indexcol = 1
indexrow = 1
For Each item As Classdayhag In mylist
.Cells(indexrow, indexcol) = item.dayname
.Cells(indexrow, indexcol + 1) = item.count
indexrow += 1
Next
celltable.Select()
With myChart
.Chart.ChartType = excel.XlChartType.xl3DPie
.Chart.HasTitle = True
.Chart.ChartTitle.Text = title
.Chart.ChartTitle.Font.Name = "Arial"
.Chart.ChartTitle.Font.Size = 12
.Chart.ChartTitle.Font.Bold = True
.Chart.SetSourceData(Source:=celltable)
.Chart.ApplyLayout(6)
End With
End With
objexcel.Visible = True
RaiseEvent isshown()
objexcel = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message)
objexcel = Nothing
End Try
End Sub