Search in sources :

Example 16 with XSSFDrawing

use of org.apache.poi.xssf.usermodel.XSSFDrawing in project ocvn by devgateway.

the class TenderPercentagesExcelControllerTest method numberTendersUsingEBidExcelChart.

@Test
public void numberTendersUsingEBidExcelChart() throws Exception {
    LangYearFilterPagingRequest filter = getLangYearFilterMockRequest();
    tenderPercentagesExcelController.numberTendersUsingEBidExcelChart(filter, mockHttpServletResponse);
    final byte[] responseOutput = mockHttpServletResponse.getContentAsByteArray();
    final Workbook workbook = new XSSFWorkbook(new ByteArrayInputStream(responseOutput));
    Assert.assertNotNull(workbook);
    final Sheet sheet = workbook.getSheet(ChartType.area.toString());
    Assert.assertNotNull("check chart type, sheet name should be the same as the type", sheet);
    final XSSFDrawing drawing = (XSSFDrawing) sheet.getDrawingPatriarch();
    final List<XSSFChart> charts = drawing.getCharts();
    Assert.assertEquals("number of charts", 1, charts.size());
    final XSSFChart chart = charts.get(0);
    Assert.assertEquals("chart title", translationService.getValue(filter.getLanguage(), "charts:nrEBid:title"), chart.getTitle().getString());
    final List<? extends XSSFChartAxis> axis = chart.getAxis();
    Assert.assertEquals("number of axis", 2, axis.size());
    final CTChart ctChart = chart.getCTChart();
    Assert.assertEquals("Check if we have 1 area chart", 1, ctChart.getPlotArea().getAreaChartArray().length);
}
Also used : XSSFChart(org.apache.poi.xssf.usermodel.XSSFChart) LangYearFilterPagingRequest(org.devgateway.ocds.web.rest.controller.request.LangYearFilterPagingRequest) CTChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTChart) ByteArrayInputStream(java.io.ByteArrayInputStream) XSSFWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook) Sheet(org.apache.poi.ss.usermodel.Sheet) XSSFWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook) Workbook(org.apache.poi.ss.usermodel.Workbook) XSSFDrawing(org.apache.poi.xssf.usermodel.XSSFDrawing) Test(org.junit.Test)

Example 17 with XSSFDrawing

use of org.apache.poi.xssf.usermodel.XSSFDrawing in project ocvn by devgateway.

the class ExcelChartDefaultTest method createWorkbook.

@Test
public void createWorkbook() throws Exception {
    final ExcelChart excelChart = new ExcelChartDefault("line chart", ChartType.line, CATEGORIES, VALUES);
    excelChart.configureSeriesTitle(Arrays.asList("foo", "bar"));
    final Workbook workbook = excelChart.createWorkbook();
    Assert.assertNotNull(workbook);
    final Sheet sheet = workbook.getSheet(ChartType.line.toString());
    Assert.assertNotNull(sheet);
    final XSSFDrawing drawing = (XSSFDrawing) sheet.getDrawingPatriarch();
    final List<XSSFChart> charts = drawing.getCharts();
    Assert.assertEquals("number of charts", 1, charts.size());
    final XSSFChart chart = charts.get(0);
    Assert.assertEquals("chart title", "line chart", chart.getTitle().getString());
    final CTChart ctChart = chart.getCTChart();
    Assert.assertEquals("We should not have any area chart", 0, ctChart.getPlotArea().getAreaChartArray().length);
    Assert.assertEquals("Check if we have 1 line chart", 1, ctChart.getPlotArea().getLineChartArray().length);
    Assert.assertEquals("Check that we have a legend and that it's position is bottom", STLegendPos.B, ctChart.getLegend().getLegendPos().getVal());
    // check the actual chart data
    final CTLineChart ctLineChart = ctChart.getPlotArea().getLineChartArray()[0];
    final CTLineSer[] ctLineSer = ctLineChart.getSerArray();
    Assert.assertEquals("Check number of CTLineSer", 2, ctLineSer.length);
    Assert.assertEquals("check first series title", "foo", ctLineSer[0].getTx().getV());
    Assert.assertEquals("check second series title", "bar", ctLineSer[1].getTx().getV());
    final CTAxDataSource cat1 = ctLineSer[0].getCat();
    Assert.assertEquals("check first category", "cat 1", cat1.getStrRef().getStrCache().getPtArray()[0].getV());
    Assert.assertEquals("check last category", "cat 5", cat1.getStrRef().getStrCache().getPtArray()[4].getV());
    final CTAxDataSource cat2 = ctLineSer[1].getCat();
    Assert.assertEquals("check first category", "cat 1", cat2.getStrRef().getStrCache().getPtArray()[0].getV());
    Assert.assertEquals("check last category", "cat 5", cat2.getStrRef().getStrCache().getPtArray()[4].getV());
    final CTNumDataSource val1 = ctLineSer[0].getVal();
    Assert.assertEquals("check first value", "5.0", val1.getNumRef().getNumCache().getPtArray()[0].getV());
    Assert.assertEquals("check last value", "6.0", val1.getNumRef().getNumCache().getPtArray()[4].getV());
    final CTNumDataSource val2 = ctLineSer[1].getVal();
    Assert.assertEquals("check first value", "20.0", val2.getNumRef().getNumCache().getPtArray()[0].getV());
    Assert.assertEquals("check last value", "14.0", val2.getNumRef().getNumCache().getPtArray()[4].getV());
    final List<? extends XSSFChartAxis> axis = chart.getAxis();
    Assert.assertEquals("number of axis", 2, axis.size());
    Assert.assertTrue("category axis", axis.get(0) instanceof XSSFCategoryAxis);
    Assert.assertTrue("value axis", axis.get(1) instanceof XSSFValueAxis);
}
Also used : CTNumDataSource(org.openxmlformats.schemas.drawingml.x2006.chart.CTNumDataSource) XSSFCategoryAxis(org.apache.poi.xssf.usermodel.charts.XSSFCategoryAxis) XSSFValueAxis(org.apache.poi.xssf.usermodel.charts.XSSFValueAxis) Workbook(org.apache.poi.ss.usermodel.Workbook) CTAxDataSource(org.openxmlformats.schemas.drawingml.x2006.chart.CTAxDataSource) XSSFChart(org.apache.poi.xssf.usermodel.XSSFChart) CTLineChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTLineChart) CTChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTChart) CTLineSer(org.openxmlformats.schemas.drawingml.x2006.chart.CTLineSer) Sheet(org.apache.poi.ss.usermodel.Sheet) XSSFDrawing(org.apache.poi.xssf.usermodel.XSSFDrawing) Test(org.junit.Test)

Example 18 with XSSFDrawing

use of org.apache.poi.xssf.usermodel.XSSFDrawing in project ocvn by devgateway.

the class TenderPercentagesExcelControllerTest method tendersWithLinkedProcurementPlanExcelChart.

@Test
public void tendersWithLinkedProcurementPlanExcelChart() throws Exception {
    LangYearFilterPagingRequest filter = getLangYearFilterMockRequest();
    tenderPercentagesExcelController.tendersWithLinkedProcurementPlanExcelChart(filter, mockHttpServletResponse);
    final byte[] responseOutput = mockHttpServletResponse.getContentAsByteArray();
    final Workbook workbook = new XSSFWorkbook(new ByteArrayInputStream(responseOutput));
    Assert.assertNotNull(workbook);
    final Sheet sheet = workbook.getSheet(ChartType.area.toString());
    Assert.assertNotNull("check chart type, sheet name should be the same as the type", sheet);
    final XSSFDrawing drawing = (XSSFDrawing) sheet.getDrawingPatriarch();
    final List<XSSFChart> charts = drawing.getCharts();
    Assert.assertEquals("number of charts", 1, charts.size());
    final XSSFChart chart = charts.get(0);
    Assert.assertEquals("chart title", translationService.getValue(filter.getLanguage(), "charts:percentWithTenders:title"), chart.getTitle().getString());
    final List<? extends XSSFChartAxis> axis = chart.getAxis();
    Assert.assertEquals("number of axis", 2, axis.size());
    final CTChart ctChart = chart.getCTChart();
    Assert.assertEquals("Check if we have 1 area chart", 1, ctChart.getPlotArea().getAreaChartArray().length);
}
Also used : XSSFChart(org.apache.poi.xssf.usermodel.XSSFChart) LangYearFilterPagingRequest(org.devgateway.ocds.web.rest.controller.request.LangYearFilterPagingRequest) CTChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTChart) ByteArrayInputStream(java.io.ByteArrayInputStream) XSSFWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook) Sheet(org.apache.poi.ss.usermodel.Sheet) XSSFWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook) Workbook(org.apache.poi.ss.usermodel.Workbook) XSSFDrawing(org.apache.poi.xssf.usermodel.XSSFDrawing) Test(org.junit.Test)

Example 19 with XSSFDrawing

use of org.apache.poi.xssf.usermodel.XSSFDrawing in project ocvn by devgateway.

the class TenderPriceExcelControllerTest method procurementMethodExcelChart.

@Test
public void procurementMethodExcelChart() throws Exception {
    LangYearFilterPagingRequest filter = getLangYearFilterMockRequest();
    tenderPriceExcelController.procurementMethodExcelChart(filter, mockHttpServletResponse);
    final byte[] responseOutput = mockHttpServletResponse.getContentAsByteArray();
    final Workbook workbook = new XSSFWorkbook(new ByteArrayInputStream(responseOutput));
    Assert.assertNotNull(workbook);
    final Sheet sheet = workbook.getSheet(ChartType.barcol.toString());
    Assert.assertNotNull("check chart type, sheet name should be the same as the type", sheet);
    final XSSFDrawing drawing = (XSSFDrawing) sheet.getDrawingPatriarch();
    final List<XSSFChart> charts = drawing.getCharts();
    Assert.assertEquals("number of charts", 1, charts.size());
    final XSSFChart chart = charts.get(0);
    Assert.assertEquals("chart title", translationService.getValue(filter.getLanguage(), "charts:procurementMethod:title"), chart.getTitle().getString());
    final List<? extends XSSFChartAxis> axis = chart.getAxis();
    Assert.assertEquals("number of axis", 2, axis.size());
    final CTChart ctChart = chart.getCTChart();
    Assert.assertEquals("Check if we have 1 bar chart", 1, ctChart.getPlotArea().getBarChartArray().length);
}
Also used : XSSFChart(org.apache.poi.xssf.usermodel.XSSFChart) LangYearFilterPagingRequest(org.devgateway.ocds.web.rest.controller.request.LangYearFilterPagingRequest) CTChart(org.openxmlformats.schemas.drawingml.x2006.chart.CTChart) ByteArrayInputStream(java.io.ByteArrayInputStream) XSSFWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook) Sheet(org.apache.poi.ss.usermodel.Sheet) XSSFWorkbook(org.apache.poi.xssf.usermodel.XSSFWorkbook) Workbook(org.apache.poi.ss.usermodel.Workbook) XSSFDrawing(org.apache.poi.xssf.usermodel.XSSFDrawing) Test(org.junit.Test)

Aggregations

XSSFDrawing (org.apache.poi.xssf.usermodel.XSSFDrawing)19 Sheet (org.apache.poi.ss.usermodel.Sheet)17 XSSFChart (org.apache.poi.xssf.usermodel.XSSFChart)16 Workbook (org.apache.poi.ss.usermodel.Workbook)15 Test (org.junit.Test)15 CTChart (org.openxmlformats.schemas.drawingml.x2006.chart.CTChart)15 ByteArrayInputStream (java.io.ByteArrayInputStream)14 XSSFWorkbook (org.apache.poi.xssf.usermodel.XSSFWorkbook)14 LangYearFilterPagingRequest (org.devgateway.ocds.web.rest.controller.request.LangYearFilterPagingRequest)13 Comment (org.apache.poi.ss.usermodel.Comment)2 XSSFClientAnchor (org.apache.poi.xssf.usermodel.XSSFClientAnchor)2 XSSFSheet (org.apache.poi.xssf.usermodel.XSSFSheet)2 Cell (org.apache.poi.ss.usermodel.Cell)1 DataFormatter (org.apache.poi.ss.usermodel.DataFormatter)1 Row (org.apache.poi.ss.usermodel.Row)1 XSSFCell (org.apache.poi.xssf.usermodel.XSSFCell)1 XSSFPicture (org.apache.poi.xssf.usermodel.XSSFPicture)1 XSSFRichTextString (org.apache.poi.xssf.usermodel.XSSFRichTextString)1 XSSFShape (org.apache.poi.xssf.usermodel.XSSFShape)1 XSSFSimpleShape (org.apache.poi.xssf.usermodel.XSSFSimpleShape)1