Excel xlXYScatter在由C#生成时具有行

我正在使用WPF C#编写的应用程序来生成Excel工作表并绘制出一些数据。 xlXYScatterLinesxlXYScatterLinesNoMarkersxlXYScatterSmoothxlXYScatterSmoothNomarkers都很好。

除了总是生成的xlXYScatter将数据点与行(= xlXYScatterLines )连接xlXYScatterLines ,它应该只显示散点。 以下是我的代码。

 Excel.ChartObjects xlCharts = (Excel.ChartObjects)oSheet.ChartObjects(Type.Missing); Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(350,20,500,350); Excel.Chart chartPage = myChart.Chart; chartPage.ChartType = Excel.XlChartType.xlXYScatter; 

这是一个错误?

[解决scheme – 不回答]

玩了两天之后,我意外地发现如果在定义图表types之前设置了源数据。 问题不会发生,xlXYScatter将显示为xlXYScatter,而不是xlXYScatterLines。

 chartPage.SetSourceData(Range, Missing.Value); chartPage.ChartType = Excel.XlChartType.xlXYScatter; 

我不明白为什么以及如何解决这个问题,因为在你定义图表之后直接定义源代码,而在相反的方面没有什么意义。 所以我认为这是一个解决scheme,但不是一个答案。 希望有人仍然可以回答这个问题。

我没有用C#做这个,但是在VBA中我有一些类似的悲伤。 我最终不得不创build图表xlXYScatterLinesNoMarkers 。 然后,在图表创build后,我将types更改为xlXYScatter 。 丑,但它似乎在VBA中为我工作。