public String getComponentFacetValue(FacesContext context, UIComponent parent, String facetname) {
        UIComponent facet = parent.getFacet(facetname);
        if (FacetUtils.shouldRenderFacet(facet)) {
            if (facet instanceof UIPanel) {
                for (UIComponent child : facet.getChildren()) {
                    if (child.isRendered()) {
                        String value = ComponentUtils.getValueToRender(context, child);

                        if (value != null) {
                            return value;
                        }
                    }
                }
            }
            else {
                return ComponentUtils.getValueToRender(context, facet);
            }
        }

        return null;
    }
Gets and caches the list of UIColumns that are exportable="true", visible="true", and rendered="true".
Orders them by displayPriority so they match the UI display of the columns.

@param table the Table with columns to export
@return the List<UIColumn> that are exportable
primefaces/src/main/java/org/primefaces/component/export/TableExporter.java