ACTUALIZACIÓN: Esto solo es cierto si usa ONLYOFFICE en lugar de MS Excel.
En realidad, hay un flujo en todas las respuestas proporcionadas aquí y también en la aceptada. El flujo es que cada vez que tiene una celda vacía en Excel y la copia, en el portapapeles tiene 2 caracteres de pestaña uno al lado del otro, por lo que después de dividir obtiene un elemento adicional en la matriz, que luego aparece como una celda adicional en esa fila. y mueve todas las demás celdas en una. Entonces, para evitar eso, básicamente necesita reemplazar todos los caracteres de doble pestaña (solo pestañas una al lado de la otra) en una cadena con un carácter de pestaña y solo luego dividirlo.
Una versión actualizada de jsfiddle de @ userfuser está aquí para solucionar ese problema al filtrar los datos pegados con removeExtraTabs
http://jsfiddle.net/sTX7y/794/
function removeExtraTabs(string) {
return string.replace(new RegExp("\t\t", 'g'), "\t");
}
function generateTable() {
var data = removeExtraTabs($('#pastein').val());
var rows = data.split("\n");
var table = $('<table />');
for (var y in rows) {
var cells = rows[y].split("\t");
var row = $('<tr />');
for (var x in cells) {
row.append('<td>' + cells[x] + '</td>');
}
table.append(row);
}
$('#excel_table').html(table);
}
$(document).ready(function() {
$('#pastein').on('paste', function(event) {
$('#pastein').on('input', function() {
generateTable();
$('#pastein').off('input');
})
})
})