code: @Programmatic
      public <T> Blob toExcelPivot(
              final List<T> domainObjects,
              final Class<T> cls,
              final String fileName) throws ExcelService.Exception {
          return toExcelPivot(domainObjects, cls, null, fileName);
      }
docs: Creates a Blob holding a single-sheet spreadsheet with a pivot of the domain objects. The sheet name is derived from the
  class name.
  
  <p>
  Minimal requirements for the domain object are:
  </p>
  <ul>
  <li>
  One property has annotation {@link PivotRow} and will be used as row identifier in left column of pivot.
  Empty values are supported.
  </li>
  <li>
  At least one property has annotation {@link PivotColumn}. Its values will be used in columns of pivot.
  Empty values are supported.
  </li>
  <li>
  At least one property has annotation {@link PivotValue}. Its values will be distributed in the pivot.
  </li>
  </ul>