อัปเดต: นี่จะเป็นจริงเฉพาะเมื่อคุณใช้ ONLYOFFICE แทน MS Excel
มีการไหลของคำตอบทั้งหมดที่ให้ไว้ที่นี่และในคำตอบที่ยอมรับด้วย โฟลว์คือเมื่อใดก็ตามที่คุณมีเซลล์ว่างใน excel และคัดลอกสิ่งนั้นในคลิปบอร์ดคุณจะมีตัวอักษร 2 แท็บติดกันดังนั้นหลังจากแยกคุณจะได้รับรายการเพิ่มเติมหนึ่งรายการในอาร์เรย์ซึ่งจะปรากฏเป็นเซลล์พิเศษในแถวนั้น และย้ายเซลล์อื่น ๆ ทั้งหมดทีละเซลล์ ดังนั้นเพื่อหลีกเลี่ยงไม่ให้คุณต้องแทนที่แท็บสองแท็บ (แท็บที่อยู่ติดกันเท่านั้น) ทั้งหมดในสตริงด้วยแท็บหนึ่งแท็บแล้วแยกออก
jsfiddle ของ @ userfuser เวอร์ชันอัปเดตอยู่ที่นี่เพื่อแก้ไขปัญหานั้นโดยการกรองข้อมูลที่วางด้วย 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');
})
})
})