IniExcelAMatriz - IniExcelAMatriz
Resumen
INTRODUCCIÓN
El servicio IniExcelAMatriz permite cargar datos desde un archivo Excel a una grilla, interpretando automáticamente los valores de cada celda según el tipo de dato definido en la estructura.
Este servicio se utiliza típicamente para inicializar grillas a partir de archivos Excel cargados desde el equipo del usuario.
INFORMACIÓN GENERAL
Nombre del servicio: IniExcelAMatriz
Clase: IniExcelAMatrizBean
JNDI: nodum/servicios/nucleo/ini/IniExcelAMatriz
Tipo: Inicialización
Módulo: General
Repetitivo: No
Detalle
PARÁMETROS DE ENTRADA
| Parametro | Literal |
| RutaArchivo | Ruta del Archivo Excel |
| FilasTitulo | Cant Filas a ignorar por titulos |
| MascaraFechas | Mascara a aplicar a fechas |
| Estructura | Definicion de columnas del Excel |
| NumeroHoja | Numero de Hoja con los datos |
FORMATO DE SALIDA
La salida es repetitiva.
Cada fila del Excel (con datos) genera una fila en la grilla.
El orden de columnas respeta la estructura definida.
Solo se incluyen columnas con Retornar = S.
LÓGICA DEL SERVICIO
- El usuario selecciona un archivo Excel desde su equipo.
Aclaracion:
El servicio IniExcelAMatriz no se encarga de seleccionar el archivo Excel.
La selección del archivo y de su ruta en la computadora del usuario se realiza mediante otro servicio de selección, que permite al usuario elegir el archivo desde el cliente (Ejem. Servicio BusquedaArchivo).
Una vez seleccionado el archivo, la ruta obtenida se pasa como parámetro a IniExcelAMatriz
- El servicio carga el archivo en el servidor.
- Se selecciona la hoja configurada.
- Se ignoran las filas de título.
- Se omiten filas completamente vacías.
- Cada columna se interpreta según la estructura definida.
- Se genera una grilla con solo las columnas visibles.
TIPOS DE DATOS PERMITIDOS EN LA ESTRUCTURA
En el parámetro Estructura se define cómo debe interpretarse cada columna del archivo Excel.
Cada columna se describe mediante una triple definición:
TipoDato ; Largo ; Retornar
Donde TipoDato indica cómo se leerá y convertirá el valor desde el Excel.
|
Tipo de dato |
Descripción funcional |
|
Entero |
Valores numéricos sin decimales (ej.: cantidades, números de documento). |
|
Decimal |
Valores numéricos con decimales (ej.: importes, precios, pesos). |
|
Texto |
Cadenas de texto (ej.: códigos, descripciones, observaciones). |
|
Fecha |
Fechas (ej.: fecha de emisión, vencimiento, movimiento). |
Comportamiento por tipo de dato
Entero
Lee valores numéricos sin decimales.
Si la celda está vacía, se carga 0.
Si el Excel contiene texto, el valor se interpreta como 0.
Decimal
Lee valores numéricos con decimales.
Si la celda está vacía, se carga 0.
El separador decimal depende del formato del Excel.
Texto
Lee valores de texto.
Si la celda contiene un número, se convierte automáticamente a texto.
Si el contenido supera el largo definido, el texto se trunca.
Si la celda está vacía, se carga vacío.
Fecha
Lee fechas en formato nativo de Excel.
Si la celda no es fecha, intenta interpretar el valor como texto usando la Máscara de Fechas configurada.
Si no puede interpretar la fecha, el valor queda vacío.
OBSERVACIONES
- El servicio procesa una sola hoja del Excel, indicada por el parámetro Número de Hoja (comenzando desde 1).
- Las filas iniciales definidas como Filas de Título no se cargan en la grilla.
- Las filas que estén completamente vacías en el Excel se ignoran automáticamente.
- La estructura de columnas debe definirse completamente, incluso para aquellas columnas que no se mostrarán en la grilla.
- Solo las columnas marcadas como “S” (retornar) en la estructura serán visibles en la grilla final.
- Los tipos de datos admitidos son: Entero, Decimal, Texto y Fecha.
- Para columnas de tipo Texto, si el contenido supera el largo definido, el valor se ajusta automáticamente.
- Para columnas de tipo Fecha, se utiliza la máscara configurada para interpretar valores que no estén en formato de fecha nativo de Excel.
- El servicio está pensado para importaciones manuales, no para procesos automáticos o batch.
-
EJEMPLO
Archivo Excel de ejemplo:
Columna A
Columna B
Columna C
Columna D
Código
Cantidad
Observación
Fecha
ART-01
10
Lote A
2024-01-15
ART-02
5
Lote B
2024-01-20
ART-03
12
2024-01-25
La fila 1 corresponde a títulos.
Los datos comienzan desde la fila 2.
|
Parámetro |
Valor |
|
RutaArchivo |
C:\importaciones\articulos.xlsx |
|
FilasTitulo |
1 |
|
MascaraFechas |
yyyy-MM-dd |
|
Estructura |
Texto;20;S;Entero;10;S;Texto;30;N;Fecha;10;S |
|
NumeroHoja |
1 |
Resultado en la Grilla
El servicio devuelve una grilla con 3 columnas visibles:
|
Código |
Cantidad |
Fecha |
|
ART-01 |
10 |
15/01/2024 |
|
ART-02 |
5 |
20/01/2024 |
|
ART-03 |
12 |
25/01/2024 |
