Как отобразить несколько круговых диаграмм в разных позициях в SpreadsheetGear
Я добавляю больше, чем одну круговую диаграмму в свой механизм электронных таблиц. Круговая диаграмма является динамической в зависимости от групп. Каждая группа имеет независимую круговую диаграмму в зависимости от их динамического диапазона. Все это работает хорошо для меня, даже создание независимых круговых диаграмм, но в том же месте. Я хотел отобразить круговые диаграммы в другом месте в электронной таблице.
Как это сделать?
1 ответ
Если вы создаете диаграммы с помощью SpreadsheetGear, то вы используете IWorksheet.Shapes. Метод AddChart (двойная левая, двойная вершина, двойная ширина, двойная высота). Вы должны иметь возможность контролировать местоположение как размер нового графика с указанными параметрами.
Если вам нужно изменить положение или изменить размер уже существующего графика, вам нужно установить его IShape. Свойства сверху / слева / ширина / высота. Вы можете получить доступ к объекту IShape через IWorksheet. Коллекция фигур. Пример:
// Position top edge of chart 50 points from the top end of the worksheet
worksheet.Shapes["Chart 1"].Top = 50;
// Position left edge of chart 100 points from the left end of the worksheet
worksheet.Shapes["Chart 1"].Left = 100;
Интерфейс IWorksheetWindowInfo имеет несколько методов, которые могут помочь вам преобразовать смещения строк, начинающиеся с нуля, в координаты на основе точек, которые являются единицами, используемыми для вышеуказанных свойств размера и положения. Посмотрите RowToPoints (...) и ColumnToPoints (...) для получения дополнительной информации об этом.