Revisamos exhaustivamente cada reseña en nuestra web con el objetivo de mostrarte en todo momento la información certera y certera.
Solución:
Resulta que, de acuerdo con las especificaciones de CSV, para incluir comillas dobles dentro de un string que ya está citado, debe usar dos comillas dobles (“”). Cambié:
itemDesc = itemDesc.replace(/"/g, '"');
para
itemDesc = itemDesc.replace(/"/g, '""');
también eliminé
itemDesc = itemDesc.replace(/,/g, ',');
itemDesc = itemDesc.replace(/'/g, ''');
Dado que la columna en el CSV ya se está citando. Estos son innecesarios.
Yo uso esta función simple para convertir un string[][]
a un archivo csv. Cita la celda, si contiene un "
a ,
u otro espacio en blanco (excepto espacios en blanco):
/**
* Takes an array of arrays and returns a `,` sparated csv file.
* @param string[][] table
* @returns string
*/
export function toCSV(table: string[][])
return table
.map(row =>
row
.map(cell =>
// We remove blanks and check if the column contains
// other whitespace,`,` or `"`.
// In that case, we need to quote the column.
if (cell.replace(/ /g, '').match(/[s,"]/))
return '"' + cell.replace(/"/g, '""') + '"';
return cell;
)
.join(',')
)
.join('n');
Si posees algún titubeo y capacidad de aumentar nuestro sección te sugerimos añadir una observación y con gusto lo observaremos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)