ExcelTables4Js es una librería que convierte tablas dentro de archivos Excel (.xlsx) en objetos JSON, permitiendo al usuario elegir entre dos formatos de salida: un arreglo de arreglos o un objeto donde las llaves son los nombres de las columnas.
Esto utiliza la librera ExcelJS para leer el archivo Excel y extraer los datos de la tabla especificada. Y simplifica el proceso de extraer objetos tipo tablas de archivos Excel.
-
Tipo:
File
- Descripción: Archivo Excel que se desea procesar
- Requerido: Sí
-
Tipo:
string
- Descripción: Nombre de la tabla dentro del archivo Excel que se desea procesar
- Requerido: Sí
-
Tipo:
boolean
- Descripción: Define la estructura de salida de los datos procesados
-
Valores posibles:
-
true
: Los datos se transforman en un objeto donde las columnas actúan como claves -
false
: Los datos se transforman en un arreglo de arreglos
-
- Requerido: Sí
-
Tipo:
Function
- Descripción: Función personalizada para transformar los datos durante el procesamiento
- Requerido: No
-
Por defecto:
undefined
- Convierte una tabla específica en un archivo Excel a JSON.
- Soporta dos formatos de salida:
- Array de arreglos: Las filas son representadas como arreglos.
- Objetos con llaves: Los nombres de las columnas son las llaves y los datos de las filas son los valores.
- Fácil de usar con JavaScript o TypeScript.
Usa npm para instalar la librería:
npm install ExcelTables4Js
import ExcelTables4Js from 'ExcelTables4Js';
//file example e.target.files[0]
const processExcel = async (file) => {
const tableName = 'MyTable'; // Nombre de la tabla dentro del archivo Excel
const isColumnsObjects = true; // Cambiar a `false` para obtener un array de arreglos
const result = await ExcelTables4Js(file, tableName, isColumnsObjects);
console.log(result);
};
const customFunction = (value: any, column: string) => {
if (column === 'Price') {
return parseFloat(value) || 0;
}
return value;
};
ExcelTables4Js(file, tableName, true, customFunction).then((result) => {
console.log(result);
});
{
"columns": ["Column1", "Column2", "__fileSourceName"],
"data": {
"Column1": ["Value1", "Value2"],
"Column2": ["ValueA", "ValueB"],
"__fileSourceName": ["example.xlsx", "example.xlsx"]
}
}
{
"columns": ["Column1", "Column2", "__fileSourceName"],
"data": [
["Value1", "ValueA", "example.xlsx"],
["Value2", "ValueB", "example.xlsx"]
]
}
¡Las contribuciones son bienvenidas! Si tienes ideas para mejorar esta librería o encuentras algún problema, por favor sigue estos pasos:
-
Haz un fork del proyecto desde el repositorio oficial:
MilzCode/ExcelTables4Js. -
Crea una nueva rama para tu funcionalidad o corrección de errores:
git checkout -b nombre-de-tu-rama
`` 3. Haz un pull request con tus cambios para que sean revisados.
📂 Repositorio Encuentra el código fuente de este proyecto en GitHub: https://github.com/MilzCode/ExcelTables4Js