Excel xlXYScatter在由C#生成时具有行
我正在使用WPF C#编写的应用程序来生成Excel工作表并绘制出一些数据。 xlXYScatterLines
, xlXYScatterLinesNoMarkers
, xlXYScatterSmooth
, xlXYScatterSmoothNomarkers
都很好。
除了总是生成的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中为我工作。