将Excel复制/粘贴到网页

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (25)

是否有一种标准的方法或库来复制和粘贴从一个散页表到一个网络表单?当我从Excel中选择多个单元格时,我(显然)丢失了分隔符,所有的单元格都被粘贴到Web窗体的一个单元格中。是否必须在VB中完成?或者,一旦在web表单上启动粘贴操作,是否可以完成处理?

提问于
用户回答回答于

不会丢失分隔符,单元格由制表符分隔(\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表。

用户回答回答于

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);
}

扫码关注云+社区