Excel xlXYScatter имеет строки при генерации в C # - PullRequest
4 голосов
/ 25 июля 2011

Я использую приложение, написанное на 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;

Я не понимаю, почему и как это решает проблему, потому что интуитивно понятно определять источник после определения диаграммы, и наоборот, не имеет особого смысла.Поэтому я рассматриваю это как решение, но не как ответ.Надеюсь, что кто-то еще может ответить на вопрос.

1 Ответ

4 голосов
/ 26 июля 2011

Я не делал этого в C #, но в VBA у меня было похожее горе. В итоге мне пришлось создать диаграмму как xlXYScatterLinesNoMarkers. Затем после создания диаграммы я изменил тип на xlXYScatter. Ужасно, но мне показалось, что это работает в VBA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...