Class ExcelReportManager

java.lang.Object
us.muit.fs.a4i.persistence.ExcelReportManager
All Implemented Interfaces:
FileManager, PersistenceManager

public class ExcelReportManager extends Object implements PersistenceManager, FileManager

Clase que cotendrá las funciones de manejo de excel comunes al manejo de cualquier informe

Se utiliza la API apachePOI para manejar los ficheros excel

Las primeras versiones se centran en la escritura

Política de informes: un informe es una hoja de un documento excel, identificada con el id del informe

Este Gestor tiene los métodos para obtener la hoja y persistirla

Si la hoja exist�a la recupera y se añadirá sobre ella, no se elimina lo anterior, si no existía se crea nueva

Deuda técnica. En la persistencia de métricas e indicadores se observa mucho código replicado, se debe optimizar

Author:
Isabel Román
  • Field Details

    • formater

      protected ReportFormaterI formater

      Referencia al gestor de estilo que se va a utilizar

    • filePath

      protected String filePath

      Localización del fichero excel

    • fileName

      protected String fileName

      Nombre del fichero excel

    • wb

      protected org.apache.poi.xssf.usermodel.XSSFWorkbook wb
    • sheet

      protected org.apache.poi.xssf.usermodel.XSSFSheet sheet
  • Constructor Details

    • ExcelReportManager

      public ExcelReportManager(String filePath, String fileName)
    • ExcelReportManager

      public ExcelReportManager()
  • Method Details

    • setFormater

      public void setFormater(ReportFormaterI formater)
      Description copied from interface: PersistenceManager

      Establece el elemento que establece el formato

      Specified by:
      setFormater in interface PersistenceManager
      Parameters:
      formater - Elemento que maneja las características de formato
    • setPath

      public void setPath(String path)
      Description copied from interface: FileManager

      Establece la localización del fichero

      Specified by:
      setPath in interface FileManager
      Parameters:
      path - localización del fichero de informe
    • setName

      public void setName(String name)
      Description copied from interface: FileManager

      Establece el nombre que tendrá el fichero del informe

      Specified by:
      setName in interface FileManager
      Parameters:
      name - nombre del fichero del informe
    • getCleanSheet

      protected org.apache.poi.xssf.usermodel.XSSFSheet getCleanSheet(String entityId) throws org.apache.poi.EncryptedDocumentException, IOException

      El libro contendrá todos los informes de un tipo concreto. Primero hay que abrir el libro. Busco la hoja correspondiente a esta entidad, si ya existe la elimino. Creo la hoja

      Returns:
      Hoja de excel
      Throws:
      IOException - error al abrir el fichero
      org.apache.poi.EncryptedDocumentException - documento protegido
    • saveReport

      public void saveReport(ReportI report)
      Un informe será una hoja en el libro excel Guarda en un hoja limpia con el nombre del id del informe Incluye todas las métricas y los indicadores que tenga report
      Specified by:
      saveReport in interface PersistenceManager
      Parameters:
      report - informe a persistir
    • deleteReport

      public void deleteReport(ReportI report) throws ReportNotDefinedException
      Description copied from interface: PersistenceManager

      Borra el informe

      Specified by:
      deleteReport in interface PersistenceManager
      Parameters:
      report - informe a borrar
      Throws:
      ReportNotDefinedException - si el informe es nulo dará error