Элементы управления в диаграммах
Добавление элемента управления метки в график
Метки предоставляют средство информирования пользователей о содержании электронной таблицы. Aspose.Cells позволяет добавлять и управлять метками даже в диаграммах.
Класс ShapeCollection предоставляет метод с названием addLabelInChart, используемый для добавления контрольной метки к диаграмме. Ниже приведен список параметров, используемых для этого метода:
- top – вертикальное смещение метки от верхнего левого угла в единицах 1/4000 от области графика.
- left – горизонтальное смещение метки от верхнего левого угла в единицах 1/4000 от области графика.
- height – высота метки в единицах 1/4000 от области графика.
- width – ширина метки в единицах 1/4000 от области диаграммы.
Метод возвращает объект класса Label, где класс Label представляет метку в диаграмме. Он имеет несколько важных членов, как показано ниже:
В следующем примере показано, как добавить метку в диаграмму. В примере используется файл дизайнера, в котором есть диаграмма. Мы используем этот файл для вставки метки в диаграмму.
Ниже приведен снимок экрана файла дизайнера.
Диаграмма дизайнера
Ниже приведен исходный код для добавления метки в диаграмму. При выполнении кода генерируется следующий вывод.
Метка добавлена в диаграмму
// 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 представляет текстовое поле в диаграмме.
В следующем примере показано, как добавить текстовое поле в диаграмму. В примере используется предыдущий файл дизайнера с диаграммой. Мы используем этот файл, чтобы вставить текстовое поле в диаграмму и показать название диаграммы.
Ниже приведен исходный код для добавления текстового поля в диаграмму. Ниже приведен результат выполнения кода.
В диаграмму добавлено текстовое поле
// 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 представляет объект изображения в диаграмме.
В следующем примере показано, как добавить изображение в диаграмму. Пример использует предыдущий файл дизайнера с диаграммой. Мы используем этот файл, чтобы вставить изображение в диаграмму.
Ниже приведен исходный код для добавления изображения в диаграмму. Ниже приведен результат выполнения кода.
Вставлено изображение в диаграмму
// 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. Приведенный ниже пример демонстрирует добавление флажка на лист диаграммы.
На следующем изображении показан лист диаграммы с флажком в выходном файле.
Сгенерированный кодом сниппет выходной файл 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"); |