You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET生成Excel图表系列名称异常问题的排查与解决

问题:Excel图表系列名称仅最后一个生效,其余为默认值

我开发了一款用于能源计量的VB.NET应用程序,整体运行正常,但存在一个问题:程序可生成Excel表格和图表,表格与图表生成正常,但图表中的系列名称为默认名称(如Series1、Series2等),仅最后一个系列的名称与代码中设置的一致。

Excel表格截图:
Excel表格

异常图表截图:
异常图表

原图表生成代码

Private Sub AddChart(Row As Integer, Columns As Integer)

    xlWorkSheet = xlWorkBook.Sheets(2)

    xlCharts = xlWorkSheet.ChartObjects
    myChart = xlCharts.Add(0, 0, 1000, 500)
    EnergyChart = myChart.Chart

    xlWorkSheet = xlWorkBook.Sheets(1)

    For i As Integer = 1 To Columns - 1
        ColValue = ConvertNumberToString(i + 1)
        SeriesName(i) = xlWorkSheet.Range(ColValue & "3").Value
        chartRange = xlWorkSheet.Range("A4", ColValue & Row - 1)
        EnergyChart.SetSourceData(Source:=chartRange)
        Series = CType(EnergyChart.SeriesCollection(i), Excel.Series)
        Series.Name = SeriesName(i)
    Next

    With EnergyChart
        .HasTitle = True
        .ChartTitle.Font.Color = Color.SeaGreen
        .ChartTitle.Font.Size = 11
        .ChartTitle.Font.Name = "Calibri"
        .ChartTitle.Text = ReportFileName
        .ChartType = Excel.XlChartType.xlLine
    End With

End Sub

请问为何系列名称会变为默认值?感谢解答。


问题已解决

修改代码后运行正常,正常图表如下:
正常图表

修改后的代码

Private Sub AddChart(Row As Integer, Columns As Integer)

    xlWorkSheet = xlWorkBook.Sheets(2)

    xlCharts = xlWorkSheet.ChartObjects
    myChart = xlCharts.Add(0, 0, 1000, 500)
    EnergyChart = myChart.Chart

    xlWorkSheet = xlWorkBook.Sheets(1)

    For i As Integer = 1 To Columns - 1
        ColValue = ConvertNumberToString(i + 1)
        chartRange = xlWorkSheet.Range("A3", ColValue & Row - 1)
        EnergyChart.SetSourceData(chartRange)
        Series = CType(EnergyChart.SeriesCollection(1), Excel.Series)

    Next

    With EnergyChart
        .HasTitle = True
        .ChartTitle.Font.Color = Color.SeaGreen
        .ChartTitle.Font.Size = 11
        .ChartTitle.Font.Name = "Calibri"
        .ChartTitle.Text = ReportFileName
        .ChartType = Excel.XlChartType.xlLine
    End With

End Sub

内容的提问来源于stack exchange,提问作者robopavlik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 01:31:35