Я использую приложение, написанное на WPF C #, для создания листа Excel и вывода некоторых данных.xlXYScatterLines
, xlXYScatterLinesNoMarkers
, xlXYScatterSmooth
, xlXYScatterSmoothNomarkers
все работало нормально.
За исключением xlXYScatter
, который всегда производит, соединяет точку данных линиями (= 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;
это ошибка?
[РЕШЕНИЕ - не ответить]
После двух дней игры я случайно обнаружил, устанавливаю ли я исходные данные перед определением типа диаграммы.Проблема не возникнет, и xlXYScatter будет отображаться как xlXYScatter, а не как xlXYScatterLines.
chartPage.SetSourceData(Range, Missing.Value);
chartPage.ChartType = Excel.XlChartType.xlXYScatter;
Я не понимаю, почему и как это решает проблему, потому что интуитивно понятно определять источник после определения диаграммы, и наоборот, не имеет особого смысла.Поэтому я рассматриваю это как решение, но не как ответ.Надеюсь, что кто-то еще может ответить на вопрос.