UPDATE: Ini hanya berlaku jika Anda menggunakan ONLYOFFICE daripada MS Excel.
Sebenarnya ada aliran dalam semua jawaban yang diberikan di sini dan juga di jawaban yang diterima. Alurnya adalah setiap kali Anda memiliki sel kosong di excel dan menyalinnya, di clipboard Anda memiliki 2 karakter tab di samping satu sama lain, jadi setelah memisahkan Anda mendapatkan satu item tambahan dalam array, yang kemudian muncul sebagai sel ekstra di baris itu. dan memindahkan semua sel lain satu per satu. Jadi untuk menghindari itu pada dasarnya Anda perlu mengganti semua karakter tab ganda (tab di samping satu sama lain hanya) dalam string dengan satu karakter tab dan hanya kemudian membaginya.
Versi terbaru dari @ userfuser jsfiddle hadir untuk memperbaiki masalah itu dengan memfilter data yang ditempelkan dengan 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');
})
})
})