使用for循环为excel

时间:2017-12-28 04:32:38

标签: excel vb.net charts

我正在编写一个程序,用图表/图表创建一本新的excel书。此图表将具有多个图形类型的多个系列(数量会有所不同),但我很难使用for循环来创建系列。以下是我到目前为止的情况:

        Dim Dataseries As Excel.Series = CType(chartPage.SeriesCollection(), Excel.Series)
        For index As Integer = 0 To GlobVars.filenameArr.Length
            Dataseries(index).Name = GlobVars.filenameArr(index)
        Next index

当我尝试运行此代码时,我收到错误:

  

Excel.Series无法编入索引,因为它没有默认属性

1 个答案:

答案 0 :(得分:0)

我认为你需要这样的东西

Dim ChartObject = CType(excelWorkSheet.ChartObjects("Diagramm 1"), ChartObject)
Dim Chart = calibrationChartObject.Chart    
Dim seriesCollection = CType(calibrationChart.SeriesCollection(), SeriesCollection)

' loop to create new series
For each fileName in GlobVars.filenameArr
    Dim testSerie As Excel.Series = seriesCollection.NewSeries()

    'Add values and customize the serie
    With testSerie
        .Values = New Double() {someValue, someValue}
        .XValues = New Double() {someValue, someValue}
        .Border.LineStyle = XlLineStyle.xlDot
        .Border.Color = Color.Red
        .MarkerStyle = XlMarkerStyle.xlMarkerStyleNone
        .Name = fileName
    End With
Next

完成后不要忘记释放对excel对象的所有引用,否则Excel将无法关闭。现在不能测试它,但我认为它应该可行。