当前位置: 首页 > 面试题库 >

选择一个带有Javascript的完整表格(复制到剪贴板)

公冶昆杰
2023-03-14
问题内容

我想知道是否有人知道如何使用js选择完整表格,以便用户可以右键单击所选内容,将其复制到剪贴板,然后将其粘贴到Excel。如果您手动选择表格,则该过程将正常进行。但是有时候,如果桌子的高度是屏幕的几倍,选择它来拖动鼠标会变得很乏味。因此,我想让用户可以单击“选择整个表”按钮,所有内容都可以复制了。

有任何想法吗?


问题答案:

是。它不是很棘手,以下内容将在所有主流浏览器(包括IE 6,甚至是5)中都适用:

(在Jukka Korpela的评论指出以前的版本在IE 9标准模式下不起作用之后,于2012年9月7日更新)

码:

function selectElementContents(el) {

    var body = document.body, range, sel;

    if (document.createRange && window.getSelection) {

        range = document.createRange();

        sel = window.getSelection();

        sel.removeAllRanges();

        try {

            range.selectNodeContents(el);

            sel.addRange(range);

        } catch (e) {

            range.selectNode(el);

            sel.addRange(range);

        }

    } else if (body.createTextRange) {

        range = body.createTextRange();

        range.moveToElementText(el);

        range.select();

    }

}


<table id="tableId" border="1">

    <thead>

        <tr><th>Heading 1</th><th>Heading 2</th></tr>

    </thead>

    <tbody>

        <tr><td>cell 1</td><td>cell 2</td></tr>

    </tbody>

</table>



<input type="button" value="select table" onclick="selectElementContents( document.getElementById('tableId') );">


 类似资料:
  • 2.如果用户在excel表格中复制,则应易于复制,即使用户试图在记事本中复制,也应以表格格式打印。 3.添加一些元数据到剪贴板,以确定pojo何时我们将再次导入表。 为了将pojo列表转换为表格格式,我使用了jtable,但无法将所有jtable内容导出到剪贴板。 --pojo.java 当我试图将字符串值复制到剪贴板时,它是工作的,但当我试图复制pojo时,它是不工作的。

  • 问题内容: 如何将BufferedImage存储到系统剪贴板中? 问题答案: 这是从这里获得的工作代码,已成功测试

  • 将一个字符串复制到剪贴板。 仅作为用户操作的结果(即,在 click 事件侦听器中)。 创建一个新的 <textarea> 元素,用提供的数据填充它,并将其添加到 HTML 文档中。 使用 Selection.getRangeAt() 来存储选择的范围(如果有的话)。 使用 document.execCommand('copy') 复制到剪贴板。 从HTML文档中删除 <textarea> 元素。

  • 问题内容: 我正在使用此功能将URL复制到剪贴板: 在桌面浏览器上一切正常,但在iOS设备上无法正常运行,在iOS设备上我的函数成功返回,但是数据根本没有复制到剪贴板。是什么原因造成的,我该如何解决这个问题? 问题答案: 更新!iOS> = 10 看起来像是在选择范围和一些小技巧的帮助下,可以直接复制到iOS(> = 10)Safari上的剪贴板。我在iPhone 5C iOS 10.3.3和iP

  • 我正在使用这个函数将一个URL复制到剪贴板: 在桌面浏览器上一切正常,但在iOS设备上就不行了,在iOS设备上我的函数成功返回,但数据根本没有复制到剪贴板上。是什么原因造成的?我该如何解决这个问题?

  • 问题是,从vim到剪贴板的复制/粘贴停止工作。我不知道为什么。。。 在中,我也没有看到和缓冲区... 这是我的。vimrc,如果需要的话。 有什么建议吗? 谢谢