Элементы управления в диаграммах

Добавление элемента управления метки в график

Метки предоставляют средство информирования пользователей о содержании электронной таблицы. Aspose.Cells позволяет добавлять и управлять метками даже в диаграммах.

Класс ShapeCollection предоставляет метод с названием addLabelInChart, используемый для добавления контрольной метки к диаграмме. Ниже приведен список параметров, используемых для этого метода:

  • top – вертикальное смещение метки от верхнего левого угла в единицах 1/4000 от области графика.
  • left – горизонтальное смещение метки от верхнего левого угла в единицах 1/4000 от области графика.
  • height – высота метки в единицах 1/4000 от области графика.
  • width – ширина метки в единицах 1/4000 от области диаграммы.

Метод возвращает объект класса Label, где класс Label представляет метку в диаграмме. Он имеет несколько важных членов, как показано ниже:

  • свойство Text указывает строку заголовка метки.
  • свойство Fill указывает атрибуты цвета заливки.

В следующем примере показано, как добавить метку в диаграмму. В примере используется файл дизайнера, в котором есть диаграмма. Мы используем этот файл для вставки метки в диаграмму.

Ниже приведен снимок экрана файла дизайнера.

Диаграмма дизайнера

todo:image_alt_text

Ниже приведен исходный код для добавления метки в диаграмму. При выполнении кода генерируется следующий вывод.

Метка добавлена в диаграмму

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingLabelControl.class) + "charts/";
String filePath = dataDir + "chart.xls";
Workbook workbook = new Workbook(filePath);
Worksheet worksheet = workbook.getWorksheets().get(0);
// Load the chart from source worksheet
Chart chart = worksheet.getCharts().get(0);
Label label = chart.getShapes().addLabelInChart(100, 100, 350, 900);
label.setText("Write Label here");
label.setPlacement(PlacementType.FREE_FLOATING);
label.getFill().getSolidFill().setColor(Color.getChocolate());
// Output the file
workbook.save(dataDir + "ALControl_out.xls");
// Print message
System.out.println("Label added to chart successfully.");

Добавление элемента управления текстовым полем в график

Один из способов выделить важную информацию в отчете – использование текстового поля. Например, введите текст для выделения названия компании или для указания географического региона с наибольшими продажами. Класс ShapeCollection предоставляет метод с именем addTextBoxInChart, который используется для добавления элемента управления текстовым полем в график. Ниже приведен список параметров, используемых для метода:

  • top – вертикальное смещение текстового поля от верхнего левого угла в единицах 1/4000 от области графика.
  • left - горизонтальное смещение текстового поля от верхнего левого угла в единицах 1/4000 от области диаграммы.
  • height – высота текстового поля в единицах 1/4000 от области графика.
  • ширина - ширина текстового блока в единицах 1/4000 от области диаграммы.

Метод возвращает объект класса TextBox, где класс TextBox представляет текстовое поле в диаграмме.

В следующем примере показано, как добавить текстовое поле в диаграмму. В примере используется предыдущий файл дизайнера с диаграммой. Мы используем этот файл, чтобы вставить текстовое поле в диаграмму и показать название диаграммы.

Ниже приведен исходный код для добавления текстового поля в диаграмму. Ниже приведен результат выполнения кода.

В диаграмму добавлено текстовое поле

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingTextBoxControl.class) + "charts/";
String filePath = dataDir + "chart.xls";
// Create a new Workbook.
// Open the existing file.
Workbook workbook = new Workbook(filePath);
Worksheet worksheet = workbook.getWorksheets().get(0);
// Load the chart from source worksheet
Chart chart = worksheet.getCharts().get(0);
// Add a new textbox to the chart.
TextBox txt = chart.getShapes().addTextBoxInChart(100, 100, 850, 2500);
txt.setText("Aspose");
txt.getFont().setItalic(true);
txt.getFont().setSize(20);
txt.getFont().setBold(true);
// Get the filformat of the textbox.
FillFormat fillformat = txt.getFill();
fillformat.setFillType(FillType.SOLID);
fillformat.getSolidFill().setColor(Color.getSilver());
// Get the lineformat type of the textbox.
LineFormat lineformat = txt.getLine();
lineformat.setWeight(2);
lineformat.setDashStyle(MsoLineDashStyle.SOLID);
// Output the file
workbook.save(dataDir + "ATBoxControl_out.xls");
// Print message
System.out.println("TextBox added to chart successfully.");

Добавление изображения на диаграмму

Aspose.Cells позволяет вставлять изображения в диаграмму. Например, добавьте изображение, чтобы подчеркнуть или придать больший смысл диаграмме или ее содержимому, или вставьте файл изображения бренда.

Класс ShapeCollection предоставляет метод с именем addPictureInChart, который используется для добавления объекта изображения на диаграмму. Ниже приведен список параметров, используемых для метода:

  • верх - вертикальное смещение изображения от верхнего левого угла в единицах 1/4000 от области диаграммы.
  • слева - горизонтальное смещение изображения от верхнего левого угла в единицах 1/4000 от области диаграммы.
  • поток - объект потока, содержащий данные изображения.
  • масштабШирины - масштаб ширины изображения, значение в процентах.
  • масштабВысоты - масштаб высоты изображения, значение в процентах.

Метод возвращает объект класса Picture, где класс Picture представляет объект изображения в диаграмме.

В следующем примере показано, как добавить изображение в диаграмму. Пример использует предыдущий файл дизайнера с диаграммой. Мы используем этот файл, чтобы вставить изображение в диаграмму.

Ниже приведен исходный код для добавления изображения в диаграмму. Ниже приведен результат выполнения кода.

Вставлено изображение в диаграмму

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingPictureToChart.class) + "charts/";
String filePath = dataDir + "chart.xls";
FileInputStream stream = new FileInputStream(dataDir + "logo.jpg");
Workbook workbook = new Workbook(filePath);
Worksheet worksheet = workbook.getWorksheets().get(0);
// Load the chart from source worksheet
Chart chart = worksheet.getCharts().get(0);
Picture pic = chart.getShapes().addPictureInChart(50, 50, stream, 40, 40);
LineFormat lineformat = pic.getLine();
lineformat.setFillType(FillType.SOLID);
lineformat.getSolidFill().setColor(Color.getBlue());
lineformat.setDashStyle(MsoLineDashStyle.DASH_DOT_DOT);
// Output the file
workbook.save(dataDir + "APToChart_out.xls");
// Print message
System.out.println("Picture added to chart successfully.");

Добавление флажка на диаграмму

Aspose.Cells позволяет вам вставлять флажки в лист диаграммы, используя перечисление MsoDrawingType. Приведенный ниже пример демонстрирует добавление флажка на лист диаграммы.

На следующем изображении показан лист диаграммы с флажком в выходном файле.

todo:image_alt_text

Сгенерированный кодом сниппет выходной файл output file прилагается для вашего ознакомления.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// directories
String outputDir = Utils.Get_OutputDirectory();
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a chart to the worksheet
int index = workbook.getWorksheets().add(SheetType.CHART);
Worksheet sheet = workbook.getWorksheets().get(index);
sheet.getCharts().addFloatingChart(ChartType.COLUMN, 0, 0, 1024, 960);
sheet.getCharts().get(0).getNSeries().add("{1,2,3}", false);
// Add checkbox to the chart.
sheet.getCharts().get(0).getShapes().addShapeInChart(MsoDrawingType.CHECK_BOX, PlacementType.MOVE, 400, 400, 1000, 600);
sheet.getCharts().get(0).getShapes().get(0).setText("CheckBox 1");
// Convert chart to image with additional settings
workbook.save(outputDir + "InsertCheckboxInChartSheet_out.xlsx");