Search in sources :

Example 1 with CTCustomFilters

use of org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters in project org.hl7.fhir.core by hapifhir.

the class StructureDefinitionSpreadsheetGenerator method configureSheet.

public void configureSheet(Sheet sheet, StructureDefinition sd) throws IOException {
    for (int i = 0; i < 34; i++) {
        sheet.autoSizeColumn(i);
    }
    sheet.setColumnHidden(2, true);
    sheet.setColumnHidden(3, true);
    sheet.setColumnHidden(30, true);
    sheet.setColumnHidden(31, true);
    sheet.setColumnHidden(32, true);
    sheet.setColumnWidth(9, columnPixels(20));
    sheet.setColumnWidth(11, columnPixels(100));
    sheet.setColumnWidth(12, columnPixels(100));
    sheet.setColumnWidth(13, columnPixels(100));
    sheet.setColumnWidth(15, columnPixels(20));
    sheet.setColumnWidth(16, columnPixels(20));
    sheet.setColumnWidth(17, columnPixels(20));
    sheet.setColumnWidth(18, columnPixels(20));
    sheet.setColumnWidth(34, columnPixels(100));
    int i = titles.length - 1;
    for (StructureDefinitionMappingComponent map : sd.getMapping()) {
        i++;
        sheet.setColumnWidth(i, columnPixels(50));
        sheet.autoSizeColumn(i);
    // sheet.setColumnHidden(i,  true);
    }
    sheet.createFreezePane(2, 1);
    if (hideMustSupportFalse) {
        SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
        String address = "A2:AI" + Math.max(Integer.valueOf(sheet.getLastRowNum()), 2);
        CellRangeAddress[] regions = { CellRangeAddress.valueOf(address) };
        ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule("$G2<>\"Y\"");
        PatternFormatting fill1 = rule1.createPatternFormatting();
        fill1.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.index);
        fill1.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
        ConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule("$Q2<>\"\"");
        FontFormatting font = rule2.createFontFormatting();
        font.setFontColorIndex(IndexedColors.GREY_25_PERCENT.index);
        font.setFontStyle(true, false);
        sheetCF.addConditionalFormatting(regions, rule1, rule2);
        sheet.setAutoFilter(new CellRangeAddress(0, sheet.getLastRowNum(), 0, titles.length + sd.getMapping().size() - 1));
        XSSFSheet xSheet = (XSSFSheet) sheet;
        CTAutoFilter sheetFilter = xSheet.getCTWorksheet().getAutoFilter();
        CTFilterColumn filterColumn1 = sheetFilter.addNewFilterColumn();
        filterColumn1.setColId(6);
        CTCustomFilters filters = filterColumn1.addNewCustomFilters();
        CTCustomFilter filter1 = filters.addNewCustomFilter();
        filter1.setOperator(STFilterOperator.NOT_EQUAL);
        filter1.setVal(" ");
        CTFilterColumn filterColumn2 = sheetFilter.addNewFilterColumn();
        filterColumn2.setColId(26);
        CTFilters filters2 = filterColumn2.addNewFilters();
        filters2.setBlank(true);
        // We have to apply the filter ourselves by hiding the rows:
        for (Row row : sheet) {
            if (row.getRowNum() > 0 && (!row.getCell(6).getStringCellValue().equals("Y") || !row.getCell(26).getStringCellValue().isEmpty())) {
                ((XSSFRow) row).getCTRow().setHidden(true);
            }
        }
    }
    sheet.setActiveCell(new CellAddress(sheet.getRow(1).getCell(0)));
}
Also used : StructureDefinitionMappingComponent(org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionMappingComponent) CTAutoFilter(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTAutoFilter) ConditionalFormattingRule(org.apache.poi.ss.usermodel.ConditionalFormattingRule) FontFormatting(org.apache.poi.ss.usermodel.FontFormatting) PatternFormatting(org.apache.poi.ss.usermodel.PatternFormatting) CellAddress(org.apache.poi.ss.util.CellAddress) XSSFSheet(org.apache.poi.xssf.usermodel.XSSFSheet) CTFilterColumn(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilterColumn) SheetConditionalFormatting(org.apache.poi.ss.usermodel.SheetConditionalFormatting) CellRangeAddress(org.apache.poi.ss.util.CellRangeAddress) XSSFRow(org.apache.poi.xssf.usermodel.XSSFRow) Row(org.apache.poi.ss.usermodel.Row) CTCustomFilters(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters) CTCustomFilter(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilter) CTFilters(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilters)

Example 2 with CTCustomFilters

use of org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters in project org.hl7.fhir.core by hapifhir.

the class StructureDefinitionSpreadsheetGenerator method configureSheet.

public void configureSheet(Sheet sheet, StructureDefinition sd) throws IOException {
    for (int i = 0; i < 34; i++) {
        sheet.autoSizeColumn(i);
    }
    sheet.setColumnHidden(2, true);
    sheet.setColumnHidden(3, true);
    sheet.setColumnHidden(30, true);
    sheet.setColumnHidden(31, true);
    sheet.setColumnHidden(32, true);
    sheet.setColumnWidth(9, columnPixels(20));
    sheet.setColumnWidth(11, columnPixels(100));
    sheet.setColumnWidth(12, columnPixels(100));
    sheet.setColumnWidth(13, columnPixels(100));
    sheet.setColumnWidth(15, columnPixels(20));
    sheet.setColumnWidth(16, columnPixels(20));
    sheet.setColumnWidth(17, columnPixels(20));
    sheet.setColumnWidth(18, columnPixels(20));
    sheet.setColumnWidth(34, columnPixels(100));
    int i = titles.length - 1;
    for (StructureDefinitionMappingComponent map : sd.getMapping()) {
        i++;
        sheet.setColumnWidth(i, columnPixels(50));
        sheet.autoSizeColumn(i);
    // sheet.setColumnHidden(i,  true);
    }
    sheet.createFreezePane(2, 1);
    if (hideMustSupportFalse) {
        SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
        String address = "A2:AI" + Math.max(Integer.valueOf(sheet.getLastRowNum()), 2);
        CellRangeAddress[] regions = { CellRangeAddress.valueOf(address) };
        ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule("$G2<>\"Y\"");
        PatternFormatting fill1 = rule1.createPatternFormatting();
        fill1.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.index);
        fill1.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
        ConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule("$Q2<>\"\"");
        FontFormatting font = rule2.createFontFormatting();
        font.setFontColorIndex(IndexedColors.GREY_25_PERCENT.index);
        font.setFontStyle(true, false);
        sheetCF.addConditionalFormatting(regions, rule1, rule2);
        sheet.setAutoFilter(new CellRangeAddress(0, sheet.getLastRowNum(), 0, titles.length + sd.getMapping().size() - 1));
        XSSFSheet xSheet = (XSSFSheet) sheet;
        CTAutoFilter sheetFilter = xSheet.getCTWorksheet().getAutoFilter();
        CTFilterColumn filterColumn1 = sheetFilter.addNewFilterColumn();
        filterColumn1.setColId(6);
        CTCustomFilters filters = filterColumn1.addNewCustomFilters();
        CTCustomFilter filter1 = filters.addNewCustomFilter();
        filter1.setOperator(STFilterOperator.NOT_EQUAL);
        filter1.setVal(" ");
        CTFilterColumn filterColumn2 = sheetFilter.addNewFilterColumn();
        filterColumn2.setColId(26);
        CTFilters filters2 = filterColumn2.addNewFilters();
        filters2.setBlank(true);
        // We have to apply the filter ourselves by hiding the rows:
        for (Row row : sheet) {
            if (row.getRowNum() > 0 && (!row.getCell(6).getStringCellValue().equals("Y") || !row.getCell(26).getStringCellValue().isEmpty())) {
                ((XSSFRow) row).getCTRow().setHidden(true);
            }
        }
    }
    sheet.setActiveCell(new CellAddress(sheet.getRow(1).getCell(0)));
}
Also used : StructureDefinitionMappingComponent(org.hl7.fhir.r4b.model.StructureDefinition.StructureDefinitionMappingComponent) CTAutoFilter(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTAutoFilter) ConditionalFormattingRule(org.apache.poi.ss.usermodel.ConditionalFormattingRule) FontFormatting(org.apache.poi.ss.usermodel.FontFormatting) PatternFormatting(org.apache.poi.ss.usermodel.PatternFormatting) CellAddress(org.apache.poi.ss.util.CellAddress) XSSFSheet(org.apache.poi.xssf.usermodel.XSSFSheet) CTFilterColumn(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilterColumn) SheetConditionalFormatting(org.apache.poi.ss.usermodel.SheetConditionalFormatting) CellRangeAddress(org.apache.poi.ss.util.CellRangeAddress) XSSFRow(org.apache.poi.xssf.usermodel.XSSFRow) Row(org.apache.poi.ss.usermodel.Row) CTCustomFilters(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters) CTCustomFilter(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilter) CTFilters(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilters)

Example 3 with CTCustomFilters

use of org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters in project org.hl7.fhir.core by hapifhir.

the class XLSXWriter method dump.

public void dump() throws IOException {
    for (int i = 0; i < 34; i++) {
        sheet.autoSizeColumn(i);
    }
    sheet.setColumnHidden(2, true);
    sheet.setColumnHidden(3, true);
    sheet.setColumnHidden(30, true);
    sheet.setColumnHidden(31, true);
    sheet.setColumnHidden(32, true);
    sheet.setColumnWidth(9, columnPixels(20));
    sheet.setColumnWidth(11, columnPixels(100));
    sheet.setColumnWidth(12, columnPixels(100));
    sheet.setColumnWidth(13, columnPixels(100));
    sheet.setColumnWidth(15, columnPixels(20));
    sheet.setColumnWidth(16, columnPixels(20));
    sheet.setColumnWidth(17, columnPixels(20));
    sheet.setColumnWidth(18, columnPixels(20));
    sheet.setColumnWidth(34, columnPixels(100));
    int i = titles.length - 1;
    for (StructureDefinitionMappingComponent map : def.getMapping()) {
        i++;
        sheet.setColumnWidth(i, columnPixels(50));
        sheet.autoSizeColumn(i);
    // sheet.setColumnHidden(i,  true);
    }
    sheet.createFreezePane(2, 1);
    if (hideMustSupportFalse) {
        SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
        String address = "A2:AI" + Math.max(Integer.valueOf(sheet.getLastRowNum()), 2);
        CellRangeAddress[] regions = { CellRangeAddress.valueOf(address) };
        ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule("$G2<>\"Y\"");
        PatternFormatting fill1 = rule1.createPatternFormatting();
        fill1.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.index);
        fill1.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
        ConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule("$Q2<>\"\"");
        FontFormatting font = rule2.createFontFormatting();
        font.setFontColorIndex(IndexedColors.GREY_25_PERCENT.index);
        font.setFontStyle(true, false);
        sheetCF.addConditionalFormatting(regions, rule1, rule2);
        sheet.setAutoFilter(new CellRangeAddress(0, sheet.getLastRowNum(), 0, titles.length + def.getMapping().size() - 1));
        XSSFSheet xSheet = (XSSFSheet) sheet;
        CTAutoFilter sheetFilter = xSheet.getCTWorksheet().getAutoFilter();
        CTFilterColumn filterColumn1 = sheetFilter.addNewFilterColumn();
        filterColumn1.setColId(6);
        CTCustomFilters filters = filterColumn1.addNewCustomFilters();
        CTCustomFilter filter1 = filters.addNewCustomFilter();
        filter1.setOperator(STFilterOperator.NOT_EQUAL);
        filter1.setVal(" ");
        CTFilterColumn filterColumn2 = sheetFilter.addNewFilterColumn();
        filterColumn2.setColId(26);
        CTFilters filters2 = filterColumn2.addNewFilters();
        filters2.setBlank(true);
        // We have to apply the filter ourselves by hiding the rows:
        for (Row row : sheet) {
            if (row.getRowNum() > 0 && (!row.getCell(6).getStringCellValue().equals("Y") || !row.getCell(26).getStringCellValue().isEmpty())) {
                ((XSSFRow) row).getCTRow().setHidden(true);
            }
        }
    }
    sheet.setActiveCell(new CellAddress(sheet.getRow(1).getCell(0)));
    wb.write(outStream);
    flush();
    close();
}
Also used : StructureDefinitionMappingComponent(org.hl7.fhir.r4b.model.StructureDefinition.StructureDefinitionMappingComponent) CTAutoFilter(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTAutoFilter) ConditionalFormattingRule(org.apache.poi.ss.usermodel.ConditionalFormattingRule) FontFormatting(org.apache.poi.ss.usermodel.FontFormatting) PatternFormatting(org.apache.poi.ss.usermodel.PatternFormatting) CellAddress(org.apache.poi.ss.util.CellAddress) XSSFSheet(org.apache.poi.xssf.usermodel.XSSFSheet) CTFilterColumn(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilterColumn) SheetConditionalFormatting(org.apache.poi.ss.usermodel.SheetConditionalFormatting) CellRangeAddress(org.apache.poi.ss.util.CellRangeAddress) XSSFRow(org.apache.poi.xssf.usermodel.XSSFRow) Row(org.apache.poi.ss.usermodel.Row) CTCustomFilters(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters) CTCustomFilter(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilter) CTFilters(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilters)

Example 4 with CTCustomFilters

use of org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters in project org.hl7.fhir.core by hapifhir.

the class XLSXWriter method dump.

public void dump() throws IOException {
    for (int i = 0; i < 34; i++) {
        sheet.autoSizeColumn(i);
    }
    sheet.setColumnHidden(2, true);
    sheet.setColumnHidden(3, true);
    sheet.setColumnHidden(30, true);
    sheet.setColumnHidden(31, true);
    sheet.setColumnHidden(32, true);
    sheet.setColumnWidth(9, columnPixels(20));
    sheet.setColumnWidth(11, columnPixels(100));
    sheet.setColumnWidth(12, columnPixels(100));
    sheet.setColumnWidth(13, columnPixels(100));
    sheet.setColumnWidth(15, columnPixels(20));
    sheet.setColumnWidth(16, columnPixels(20));
    sheet.setColumnWidth(17, columnPixels(20));
    sheet.setColumnWidth(18, columnPixels(20));
    sheet.setColumnWidth(34, columnPixels(100));
    int i = titles.length - 1;
    for (StructureDefinitionMappingComponent map : def.getMapping()) {
        i++;
        sheet.setColumnWidth(i, columnPixels(50));
        sheet.autoSizeColumn(i);
    // sheet.setColumnHidden(i,  true);
    }
    sheet.createFreezePane(2, 1);
    if (hideMustSupportFalse) {
        SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
        String address = "A2:AI" + Math.max(Integer.valueOf(sheet.getLastRowNum()), 2);
        CellRangeAddress[] regions = { CellRangeAddress.valueOf(address) };
        ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule("$G2<>\"Y\"");
        PatternFormatting fill1 = rule1.createPatternFormatting();
        fill1.setFillBackgroundColor(IndexedColors.GREY_25_PERCENT.index);
        fill1.setFillPattern(PatternFormatting.SOLID_FOREGROUND);
        ConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule("$Q2<>\"\"");
        FontFormatting font = rule2.createFontFormatting();
        font.setFontColorIndex(IndexedColors.GREY_25_PERCENT.index);
        font.setFontStyle(true, false);
        sheetCF.addConditionalFormatting(regions, rule1, rule2);
        sheet.setAutoFilter(new CellRangeAddress(0, sheet.getLastRowNum(), 0, titles.length + def.getMapping().size() - 1));
        XSSFSheet xSheet = (XSSFSheet) sheet;
        CTAutoFilter sheetFilter = xSheet.getCTWorksheet().getAutoFilter();
        CTFilterColumn filterColumn1 = sheetFilter.addNewFilterColumn();
        filterColumn1.setColId(6);
        CTCustomFilters filters = filterColumn1.addNewCustomFilters();
        CTCustomFilter filter1 = filters.addNewCustomFilter();
        filter1.setOperator(STFilterOperator.NOT_EQUAL);
        filter1.setVal(" ");
        CTFilterColumn filterColumn2 = sheetFilter.addNewFilterColumn();
        filterColumn2.setColId(26);
        CTFilters filters2 = filterColumn2.addNewFilters();
        filters2.setBlank(true);
        // We have to apply the filter ourselves by hiding the rows:
        for (Row row : sheet) {
            if (row.getRowNum() > 0 && (!row.getCell(6).getStringCellValue().equals("Y") || !row.getCell(26).getStringCellValue().isEmpty())) {
                ((XSSFRow) row).getCTRow().setHidden(true);
            }
        }
    }
    sheet.setActiveCell(new CellAddress(sheet.getRow(1).getCell(0)));
    wb.write(outStream);
    flush();
    close();
}
Also used : StructureDefinitionMappingComponent(org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionMappingComponent) CTAutoFilter(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTAutoFilter) ConditionalFormattingRule(org.apache.poi.ss.usermodel.ConditionalFormattingRule) FontFormatting(org.apache.poi.ss.usermodel.FontFormatting) PatternFormatting(org.apache.poi.ss.usermodel.PatternFormatting) CellAddress(org.apache.poi.ss.util.CellAddress) XSSFSheet(org.apache.poi.xssf.usermodel.XSSFSheet) CTFilterColumn(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilterColumn) SheetConditionalFormatting(org.apache.poi.ss.usermodel.SheetConditionalFormatting) CellRangeAddress(org.apache.poi.ss.util.CellRangeAddress) XSSFRow(org.apache.poi.xssf.usermodel.XSSFRow) Row(org.apache.poi.ss.usermodel.Row) CTCustomFilters(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters) CTCustomFilter(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilter) CTFilters(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilters)

Aggregations

ConditionalFormattingRule (org.apache.poi.ss.usermodel.ConditionalFormattingRule)4 FontFormatting (org.apache.poi.ss.usermodel.FontFormatting)4 PatternFormatting (org.apache.poi.ss.usermodel.PatternFormatting)4 Row (org.apache.poi.ss.usermodel.Row)4 SheetConditionalFormatting (org.apache.poi.ss.usermodel.SheetConditionalFormatting)4 CellAddress (org.apache.poi.ss.util.CellAddress)4 CellRangeAddress (org.apache.poi.ss.util.CellRangeAddress)4 XSSFRow (org.apache.poi.xssf.usermodel.XSSFRow)4 XSSFSheet (org.apache.poi.xssf.usermodel.XSSFSheet)4 CTAutoFilter (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTAutoFilter)4 CTCustomFilter (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilter)4 CTCustomFilters (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCustomFilters)4 CTFilterColumn (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilterColumn)4 CTFilters (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFilters)4 StructureDefinitionMappingComponent (org.hl7.fhir.r4b.model.StructureDefinition.StructureDefinitionMappingComponent)2 StructureDefinitionMappingComponent (org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionMappingComponent)1 StructureDefinitionMappingComponent (org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionMappingComponent)1