es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo guardar un libro de Excel utilizando Javascript

He creado un formulario HTML que recopila los datos del usuario y, utilizando exceljs y algunas otras bibliotecas, almaceno estos datos en una hoja de cálculo de Excel. Esta parte de mi código funciona perfectamente bien. Sin embargo, cuando actualizo el servidor, los datos almacenados anteriormente en el archivo de Excel se eliminan.

Creo que la razón es que no pude guardar el libro de Excel…. pero cuando busqué algún código para lograr esto y lo ejecuté… el código no funcionó.

Aquí está el código que recopila los datos del usuario en la hoja de cálculo de Excel:

//importando las bibliotecas necesarias
const express = requerir(“express”);
const morgan = requerir(“morgan”);
const Prohairesis = requerir(“prohairesis”);
const bodyParser = requerir(“body-parser”);
const Excel = requerir(“exceljs”);

const app = express();
const puerto = process.env.PUERTO || 8081;

var info = []

app
.usar(express.static(‘público’))
.usar(morgan(‘dev’))
.usar(bodyParser.urlencoded({extendido: falso}))
.usar(bodyParser.json())

.post('/api/usuario', (req, res) => {

    res.json(req.body);

    //recopilando los datos del usuario en una cadena javascript 
    const usuario = req.body;
    const ud = JSON.stringify(usuario);
    const datos_usuario = JSON.parse(ud);
    console.log(datos_usuario);
    const lista_usuario = [datos_usuario.primerNombre, datos_usuario.email, datos_usuario.stdid, datos_usuario.pwd, datos_usuario.cpwd];
    console.log(lista_usuario);

    //alguna validación simple
    for (i in lista_usuario)
    {
        if (datos_usuario.pwd != datos_usuario.cpwd)
        {
            console.log("**La contraseña no coincide**");
            break;
        }
        if (datos_usuario.pwd == datos_usuario.cpwd)
        {
            info.push(lista_usuario);
            console.log(info);

            //agregar fila a la hoja de cálculo de Excel
            const libroTrabajo = new Excel.Workbook();
            const hojaCalculo = libroTrabajo.addWorksheet('Base de Datos Principal');
            hojaCalculo.addRows(info);
            libroTrabajo.xlsx.writeFile("Login-Db.xlsx")
            console.log('Se ha agregado la fila');
            break;
        }
    }

})

.escuchar(puerto, () => console.log(`El servidor está escuchando en el puerto ${puerto}`));
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución al problema de los datos que se borran del archivo de Excel después de la actualización del servidor

    Descripción del problema

    El usuario ha creado un formulario HTML que recopila datos de los usuarios y almacena estos datos en una hoja de cálculo de Excel utilizando exceljs y otras bibliotecas. Sin embargo, al actualizar el servidor, los datos almacenados en el archivo de Excel se borran.

    Solución propuesta

    1. Guardar el libro de Excel

    La posible causa de este problema es que el libro de Excel no se está guardando. Por lo tanto, se sugiere que se ejecute el siguiente fragmento de código después de agregar filas a la hoja de cálculo.

    workbook.xlsx.writeFile("Login-Db.xlsx");
    

    Este código guarda el libro de Excel en el archivo Login-Db.xlsx.

    2. Verificar errores

    Es posible que el código que se ejecutó para guardar el libro no haya funcionado. Por lo tanto, es importante verificar si hay errores en la consola. Puedes usar un bloque try-catch para capturar cualquier error que se haya generado.

    try {
        workbook.xlsx.writeFile("Login-Db.xlsx");
        console.log("El libro se ha guardado correctamente.");
    } catch (error) {
        console.log("Se produjo un error al guardar el libro: ", error.message);
    }
    

    3. Permisos de archivo

    Otro problema que podría causar que se borren los datos es que los permisos del archivo no permiten escribir en él. Si el servidor web no tiene permisos de escritura en el archivo, no podrá guardar los datos. Asegúrate de que el archivo Login-Db.xlsx tenga los permisos necesarios para ser escrito por el servidor.

    Conclusión

    Al guardar el libro de Excel después de agregar filas a la hoja de cálculo, verificar errores y asegurarse de que el archivo Login-Db.xlsx tenga los permisos de escritura necesarios, se debería resolver el problema de los datos que se borran del archivo de Excel después de la actualización del servidor.

Comments are closed.