Как изменить данные диаграммы Excel с VB.Net - PullRequest
1 голос
/ 26 июня 2019

Я экспортирую электронную таблицу Excel с приложением, использующим vb.NET. Строки, которые я хочу показать на диаграмме, - это строки 111, 31 и 6. Строка 6 - это серийный номер оси x, а строки 111 и 31 - значения оси y. Файл Excel имеет заголовки столбцов в столбце A, а затем данные в остальных. Когда я использую только 2 из 3 строк, все в порядке, например, 111 и 6 или 31 и 6. Однако, когда я пытаюсь объединить все 3, данные переключаются, где строка 6 больше не является осью x. Вот мой код:

Excel work book example
Column A                        ColumnB  ......   ColumnN
Row6(Serial Number, x axis)     Data 1            DataN
Row31(Series 1 value, y ax      Data 1            DataN
Row111(Series 2 Value, y axis)  Data 1            DataN




            'Create chart
        Dim chartPage As excel.Chart
        Dim xlCharts As excel.ChartObjects
        Dim myChart As excel.ChartObject
        Dim chartRange As excel.Range

        xlCharts = xlWorkSheet.ChartObjects
        myChart = xlCharts.Add(10, 80, 300, 250)
        chartPage = myChart.Chart
        chartRange = xlWorkSheet.Range("111:111, 31:31, 6:6")
        chartPage.SetSourceData(Source:=chartRange)
        chartPage.ChartType = excel.XlChartType.xlLine

Я хотел бы обратить внимание на следующую строку кода:

chartRange = xlWorkSheet.Range("111:111, 31:31, 6:6")

Если я заменю эту строку кода одной из следующих двух строк, код будет работать правильно:

chartRange = xlWorkSheet.Range("111:111, 6:6")
chartRange = xlWorkSheet.Range("31:31, 6:6")

Однако я хочу, чтобы 111 и 31 строки отображались на одном графике.

Желаемый вывод - серийные номера по оси x с числовыми данными по оси y. 2 строки, одна из которых отображает строку 111, а другая - отображение строки 31

Токовым выходом является серийный номер, поскольку серии, а оси x и y являются числовыми

ВАЖНОЕ РЕДАКТИРОВАНИЕ Этот код действительно работает. Я использовал только 1 строку, чтобы сократить время сборки, и это испортило экспортированный лист Excel. Однако, когда я использовал полную компиляцию со всеми строками, она начала работать. Однако это работает только тогда, когда 6: 6 находится в конце строки.

...