Как программно установить значения ряда диаграмм в SpreadsheetGear? - PullRequest
0 голосов
/ 10 ноября 2010

В соответствии с MSDN , Excel разрешает программно устанавливать свойство Values ​​серии диаграмм из массива:

Диаграммы ("Диаграмма1"). SeriesCollection (1) .Values ​​= _ Массив (1, 3, 5, 7, 11, 13, 17, 19)

Как мне сделать это с диаграммой SpreadsheetGear? В моей конкретной проблеме ссылка на диапазон ячеек невозможна. Я попытался установить значения в список двойников и строку в формате "1, 3, 5, ..., 19". Ни один из этих способов не работает, и в документации SpreadsheetGear нет примеров ожидаемого формата.

1 Ответ

2 голосов
/ 10 ноября 2010

Вы можете использовать формулу, состоящую из массива постоянных значений для ряда диаграммы.Вам нужно будет отформатировать строку, переданную в ISeries.Values, следующим образом: «= {1,2,3,4}».Вот более полный пример, который заменяет первую серию в диаграмме, при условии, что у вас есть имя диаграммы «Диаграмма 1» на листе «Лист1» в открытой рабочей книге:

IWorkbook workbook = Factory.GetWorkbook(@"C:\chart.xlsx");
SpreadsheetGear.Charts.IChart chart = workbook.Worksheets["Sheet1"].Shapes["Chart 1"].Chart;
ISeries series1 = chart.SeriesCollection[0];
series1.Values = "={10,20,30,40,50,60}";
workbook.Save();

Пара дополнительных примечаний.Для лучшей совместимости с Excel вам необходимо использовать формат файла Open XML (XLSX / XLSM).Excel не имеет проблем с чтением в файле выше после того, как он был сохранен в XLSX / XLSM.Однако Excel преобразует эту формулу ряда в статический «кэш данных» и удаляет формулу ряда выше.SpreadsheetGear имеет ограниченную поддержку этого «кэша данных» (мы читаем его, но не записываем его в формат файла), поэтому в зависимости от того, сколько вы будете взаимодействовать и сохранять между SpreadsheetGear и Excel после установки рядаФормула выше, вы можете столкнуться с этими ограничениями при открытии этой книги в SpreadsheetGear после нескольких проходов между SpreadsheetGear и Excel.Если вы просто используете эту книгу для составления отчетов, у вас не должно быть никаких проблем.

...