将excel的数据粘贴到html的表格<textarea>中,可以点击html表格中的任何一个<textarea>点击粘贴,效果和在excel中一样。
单元格复制后的数据格式为"设备\t缺陷类型\r\n水压堵阀\t母材裂纹"。
单元格之间通过"\t"分隔,行间通过"\r\n"分隔。
数据必须粘贴到<textarea>多文本框中,如果是<input>控件换行符"\r\n"会被删除掉。
表格中要使用<textarea>接收数据,
?$(function () { ???????????$("textarea").on("change", function () { ???????????????var str = $(this).val(); ???????????????var rowStrArray = str.split("\n"); ???????????????var rows = []; ???????????????for (var i = 0; i < rowStrArray.length; i++) { ???????????????????var row = []; ???????????????????var tdStrArray = rowStrArray[i].split(‘\t‘); ???????????????????for (var j = 0; j < tdStrArray.length; j++) { ???????????????????????row.push(tdStrArray[j]); ???????????????????} ???????????????????rows.push(row); ???????????????} ???????????????var startTr = $(this).parents("tr:first"); ???????????????var startTd = $(this).parents("td:first"); ???????????????var trIndex = -1; ???????????????var tdIndex = -1; ???????????????$("tr").each(function (i, tr) { ???????????????????if (tr == startTr[0]) { ???????????????????????trIndex = i; ???????????????????} ???????????????????$(tr).find("td").each(function (j, td) { ???????????????????????if (td == startTd[0]) { ???????????????????????????tdIndex = j; ???????????????????????} ???????????????????????if (trIndex != -1 && tdIndex != -1 && i >= trIndex && j >= tdIndex) { ???????????????????????????var rowsIndex = i - trIndex; ???????????????????????????if (rowsIndex < rows.length) { ???????????????????????????????var row = rows[rowsIndex]; ???????????????????????????????var rowIndex = j - tdIndex; ???????????????????????????????if (rowIndex < row.length) { ???????????????????????????????????var val = rows[rowsIndex][rowIndex]; ???????????????????????????????????$(td).find("textarea").val(val); ???????????????????????????????} ???????????????????????????} ???????????????????????} ???????????????????}); ???????????????}) ???????????}); ???????});
excel数据复制到html表格<textarea>中
原文地址:https://www.cnblogs.com/guohu/p/9609437.html