从 Excel 复制/粘贴到网页

新手上路,请多包涵

是否有标准方法或库可以将电子表格复制和粘贴到 Web 表单?当我从 Excel 中选择多个单元格时,我(显然)丢失了分隔符,所有内容都被粘贴到 Web 表单的一个单元格中。必须在VB中完成吗?或者一旦在 web 表单上开始粘贴操作就可以完成处理?

原文由 His dudeness 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 729
2 个回答

您不会丢失分隔符,单元格由制表符( \t )和换行符( \n )分隔,这在表单中可能不可见。自己尝试一下:将内容从 Excel 复制到记事本,您会看到单元格排列整齐。然后很容易按选项卡拆分字段并将它们替换为其他内容,这样您甚至可以从它们构建一个表。这是一个使用 jQuery 的示例:

 var data = $('input[name=excel_data]').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);

所以本质上,这个脚本从粘贴的 Excel 数据创建一个 HTML 表。

原文由 Tatu Ulmanen 发布,翻译遵循 CC BY-SA 2.5 许可协议

为了回应 Tatu 的回答,我创建了一个快速的 jsFiddle 来展示他的解决方案:

http://jsfiddle.net/duwood/sTX7y/

HTML

 <p>Paste excel data here:</p>
<textarea name="excel_data" style="width:250px;height:150px;"></textarea><br>
<input type="button" onclick="javascript:generateTable()" value="Genereate Table"/>
<br><br>
    <p>Table data will appear below</p>
<hr>
<div id="excel_table"></div>

JS

 function generateTable() {
    var data = $('textarea[name=excel_data]').val();
    console.log(data);
    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);
}

原文由 dunderwood 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题