AGGIORNAMENTO: questo è vero solo se utilizzi ONLYOFFICE invece di MS Excel.
In realtà c'è un flusso in tutte le risposte fornite qui e anche in quella accettata. Il flusso è che ogni volta che hai una cella vuota in Excel e la copi, negli appunti hai 2 caratteri di tabulazione uno accanto all'altro, quindi dopo la divisione ottieni un elemento aggiuntivo nell'array, che poi appare come una cella extra in quella riga e sposta tutte le altre celle di una. Quindi, per evitare che sia fondamentalmente necessario sostituire tutti i caratteri di doppia tabulazione (solo le tabulazioni una accanto all'altra) in una stringa con un carattere di tabulazione e solo dopo dividerlo.
Una versione aggiornata di jsfiddle di @ userfuser è qui per risolvere il problema filtrando i dati incollati 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');
})
})
})