Indice

DocWay3 - Modulo di import file Excel - XLS

GenericXlsImport (su docway3-cvs.3di.it)

Linguaggio

Java

Schema del modulo

Breve descrizione del funzionamento

Il modulo legge dei file excel (formato Microsoft xls) e crea un nuovo documento partendo da un template xml (definito in un file di configurazione o passato dinamicamente dall'applicazione che usa il modulo) e riempiendolo con i dati di ogni riga (un documento per ogni riga di ogni foglio). Un file excel deve riferirsi ad una sola tipologia documentale (es. doc, fascicoli…). E' possibile configurare il modulo per importare differenti file xls riferiti ognuno ad una tipologia documentale diversa (es. uno per i doc, uno per i fascicoli…). L'elaborazione delle righe dei fogli elettronici avviene tramite un insieme di regole definite in un file di configurazione. L'operazione di import di uno stesso file excel può essere avviata più volte dato che, se viene fornita una ricerca per identificare in modo univoco i documenti da inserire, non salva un documento se è già presente nell'archivio.

L'accesso all'archivio in cui salvare i documenti avviene tramite una generica interfaccia in modo da essere indipendente dagli strumenti utilizzati per accedere all'archivio (es. common.jar, extraway WS…) e, volendo, anche dal tipo di archivio (extraway o altro). Di questa interfaccia è stata realizzata un'implementazione che utilizza common.jar (classe it.highwaytech.apps.generic.utils.excel_import.ArchiveManager4ExcelImport).

Il modulo si basa su un meccanismo di notifica di eventi che consente all'applicazione di monitorare lo stato dell'import. Tale meccanismo consente l'interfacciamento con un qualsiasi tipo di “barra di avanzamento” (es. stile docway o altro).

Per maggiori dettagli si veda il javadoc.

Breve descrizione del file di configurazione

File di configurazione xml:

  <?xml version="1.0" encoding="utf-8"?>
  <excel_import_rules>
    <excel_file start_row="..." id="...">
      <docs_template encoding="...">
          <![CDATA[...]]>
      </docs_template>
      <univocity_query>...</univocity_query>
      <row_rules empty_cell_skip_row="yes">
          <rule>    
              <parent_node_xpath>...</parent_node_xpath>
              <value type="...">...</value>
          </rule>
          ...
      </row_rules>
    </excel_file>
    ...
  </excel_import_rules>

Dettagli:

Applicazioni che usano il modulo