UPDATE: Dies gilt nur, wenn Sie ONLYOFFICE anstelle von MS Excel verwenden.
Es gibt tatsächlich einen Fluss in allen Antworten, die hier bereitgestellt werden, und auch in der akzeptierten. Wenn Sie eine leere Zelle in Excel haben und diese kopieren, befinden sich in der Zwischenablage zwei Tabulatorzeichen nebeneinander. Nach dem Teilen erhalten Sie also ein zusätzliches Element im Array, das dann als zusätzliche Zelle in dieser Zeile angezeigt wird und verschiebt alle anderen Zellen um eins. Um zu vermeiden, dass Sie grundsätzlich alle doppelten Tabulatorzeichen (nur Tabulatoren nebeneinander) in einer Zeichenfolge durch ein Tabulatorzeichen ersetzen und erst dann teilen müssen.
Eine aktualisierte Version von @ userfusers jsfiddle behebt dieses Problem, indem eingefügte Daten mit removeExtraTabs gefiltert werden
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);
}
// Insert into DOM
$('#excel_table').html(table);
}
$(document).ready(function() {
$('#pastein').on('paste', function(event) {
$('#pastein').on('input', function() {
generateTable();
$('#pastein').off('input');
})
})
})