//create a new workbook Workbook workbook = new Workbook(); IWorksheet worksheet = workbook.getWorksheets().get(0); IShape shape = worksheet.getShapes().addChart(ChartType.ColumnClustered, 250, 20, 360, 230); worksheet.getRange("A1:C17").setValue(new Object[][]{ {"Area 1", "Column 1", "Column 2"}, {1350, 120, 75}, {1500, 90, 35}, {1200, 80, 50}, {1300, 80, 80}, {1750, 90, 100}, {1640, 120, 130}, {1700, 120, 95}, {1100, 90, 80}, {1350, 120, 75}, {1500, 90, 35}, {1200, 80, 50}, }); shape.getChart().getSeriesCollection().add(worksheet.getRange("A1:C17"), RowCol.Columns); shape.getChart().getChartTitle().setText("Combination Chart"); ISeries series1 = shape.getChart().getSeriesCollection().get(0); ISeries series2 = shape.getChart().getSeriesCollection().get(1); ISeries series3 = shape.getChart().getSeriesCollection().get(2); //change series type series1.setChartType(ChartType.Area); series2.setChartType(ChartType.ColumnStacked); series3.setChartType(ChartType.ColumnStacked); //set axis group series2.setAxisGroup(AxisGroup.Secondary); series3.setAxisGroup(AxisGroup.Secondary); //config axis scale and unit IAxis value_axis = shape.getChart().getAxes().item(AxisType.Value); IAxis value_second_axis = shape.getChart().getAxes().item(AxisType.Value, AxisGroup.Secondary); value_axis.setMaximumScale(1800); value_axis.setMajorUnit(450); value_second_axis.setMaximumScale(300); value_second_axis.setMajorUnit(75); //save to an excel file workbook.save("CombinationChart2.xlsx");
//create a new workbook var workbook = Workbook() val worksheet = workbook.worksheets.get(0) val shape = worksheet.shapes.addChart(ChartType.ColumnClustered, 250.0, 20.0, 360.0, 230.0) worksheet.getRange("A1:C17").value = arrayOf(arrayOf("Area 1", "Column 1", "Column 2"), arrayOf(1350, 120, 75), arrayOf(1500, 90, 35), arrayOf(1200, 80, 50), arrayOf(1300, 80, 80), arrayOf(1750, 90, 100), arrayOf(1640, 120, 130), arrayOf(1700, 120, 95), arrayOf(1100, 90, 80), arrayOf(1350, 120, 75), arrayOf(1500, 90, 35), arrayOf(1200, 80, 50)) shape.chart.seriesCollection.add(worksheet.getRange("A1:C17"), RowCol.Columns) shape.chart.chartTitle.text = "Combination Chart" val series1 = shape.chart.seriesCollection.get(0) val series2 = shape.chart.seriesCollection.get(1) val series3 = shape.chart.seriesCollection.get(2) //change series type series1.chartType = ChartType.Area series2.chartType = ChartType.ColumnStacked series3.chartType = ChartType.ColumnStacked //set axis group series2.axisGroup = AxisGroup.Secondary series3.axisGroup = AxisGroup.Secondary //config axis scale and unit val value_axis = shape.chart.axes.item(AxisType.Value) val value_second_axis = shape.chart.axes.item(AxisType.Value, AxisGroup.Secondary) value_axis.maximumScale = 1800.0 value_axis.majorUnit = 450.0 value_second_axis.maximumScale = 300.0 value_second_axis.majorUnit = 75.0 //save to an excel file workbook.save("CombinationChart2.xlsx")