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.

Hipervínculos dinámicos de ExcelJs sin enrutamiento.

Creé un libro de trabajo en Exceljs y agregué algunas hojas de cálculo de forma dinámica. Básicamente, tengo una hoja de cálculo maestra que es lo primero que ves cuando lo abres. Sin embargo, también he creado perfiles de jugador para cada persona en mi tabla inicial. Estoy tratando de vincularlos con este fragmento de código.

    team.forEach((e, index) => {
      console.log("--- Escribiendo ${e.name} ---")
  worksheet.addRow({
    teamName: e.teamName,
    name: e.name,
    weight: e.weight,
    wins: e.wins,
    losses: e.losses,
    profile: {
      text: 'Este perfil',
      hyperlink: `${e.name}`
    }
  })

Desafortunadamente, solo se muestra el texto 'Este perfil' y no se puede hacer clic en él. Cada una de mis hojas de cálculo son solo los nombres de las personas que forman parte del equipo. No estoy seguro si hay una sintaxis especial que debo agregar. Aquí es cómo estoy nombrando mi libro de trabajo. Veo que se están creando todos los perfiles de jugador, solo que los hipervínculos no funcionan. ```javascript async function writePlayerProfile(e, workbook) { let worksheet = workbook.addWorksheet(`${e.name}`) }
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás tratando de agregar hipervínculos a tu libro de Exceljs utilizando la función worksheet.addRow. Sin embargo, parece que el texto This Profile no es clickeable.

    Para crear hipervínculos clickeables en Exceljs, necesitas utilizar la función worksheet.addHyperlink. Aquí tienes un ejemplo de cómo puedes modificar tu código para agregar un hipervínculo a los perfiles de tus jugadores:

    async function writePlayerProfile(e, workbook) {
      let worksheet = workbook.addWorksheet(`${e.name}`);
    
      // Agregar un hipervínculo a la celda A1 en la nueva hoja de trabajo
      worksheet.getCell('A1').value = e.name;
      worksheet.addHyperlink({
        text: 'Haz clic aquí para volver a la hoja principal',
        hyperlink: '#\'Hoja Principal\'!A1',
        tooltip: 'Volver a la hoja principal'
      });
    }
    

    En este código actualizado, utilizamos la función addHyperlink para agregar un hipervínculo a la celda A1 en la hoja de trabajo recién creada. La propiedad text es el texto clickeable que se mostrará en la celda, y la propiedad hyperlink es el destino del hipervínculo. En este caso, estamos enlazando a la celda A1 en la hoja llamada “Hoja Principal”. También opcionalmente proporcionamos la propiedad tooltip para dar una breve descripción del hipervínculo.

    ¡Espero que esto te ayude!

Comments are closed.