CẬP NHẬT: Điều này chỉ đúng nếu bạn sử dụng ONLYOFFICE thay vì MS Excel.
Thực sự có một luồng trong tất cả các câu trả lời được cung cấp ở đây và cả trong câu được chấp nhận. Quy trình là bất cứ khi nào bạn có một ô trống trong excel và sao chép ô đó, trong khay nhớ tạm thời, bạn có 2 ký tự tab bên cạnh nhau, vì vậy sau khi tách bạn sẽ nhận được một mục bổ sung trong mảng, sau đó xuất hiện dưới dạng một ô bổ sung trong hàng đó và di chuyển tất cả các ô khác từng ô. Vì vậy, để tránh điều đó về cơ bản bạn cần thay thế tất cả các ký tự tab kép (chỉ các tab cạnh nhau) trong một chuỗi bằng một ký tự tab và chỉ sau đó tách nó ra.
Phiên bản cập nhật của jsfiddle @ userfuser có ở đây để khắc phục sự cố đó bằng cách lọc dữ liệu đã dán với 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');
})
})
})