在剪贴板

时间:2018-05-21 19:17:27

标签: google-sheets clipboard

我目前正在javascript中创建一个html表并将其放入剪贴板中以粘贴到google工作表中。但是,我还需要一些单元格来评论,我无法添加它们。

我正在使用this剪贴板查看器来了解Google工作表的工作方式,但我无法让它工作。

我在google电子表格中输入了一些数据,并复制了一行空单元格,带有值的单元格以及带有值和注释的单元格。当我从google工作表复制时,我的剪贴板(html版本)中有(格式化版本):

<html>
    <body>
        <!--StartFragment-->
        <meta name="generator" content="Sheets"/>
        <style type="text/css">
            <!--
                td {border: 1px solid #ccc;}
                br {mso-data-placement:same-cell;}
            -->
        </style>

        <table 
            xmlns="http://www.w3.org/1999/xhtml" 
            cellspacing="0" 
            cellpadding="0" 
            dir="ltr" 
            border="1" 
            style="
                table-layout:fixed;
                font-size:10pt;
                font-family:
                arial,sans,sans-serif;
                width:0px;
                border-collapse:collapse;
                border:none" >

            <colgroup>
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
            </colgroup>

            <tbody>
                <tr style="height:21px;">
                    <td 
                        style="
                            overflow:hidden;
                            padding:2px 3px 2px 3px;
                            vertical-align:bottom;" >
                    </td>
                    <td 
                        style="
                            overflow:hidden;
                            padding:2px 3px 2px 3px;
                            vertical-align:bottom;
                            text-align:right;" 
                        data-sheets-value="{&quot;1&quot;:3,&quot;3&quot;:0}" >
                            0
                    </td>
                    <td 
                        style="
                            overflow:hidden;
                            padding:2px 3px 2px 3px;
                            vertical-align:bottom;" 
                        data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;?&quot;}" 
                        data-sheets-note="test note">
                            ?
                    </td>
                </tr>
            </tbody>
        </table>
        <!--EndFragment-->
    </body>
</html>

如果我粘贴到另一个地方,也会粘贴便条,所以这种方法有效。

似乎密钥应该是data-sheets-note属性,但它不能像那样工作。例如,我将以下内容推送到剪贴板(HTML格式):

<html>
    <body>
        <!--StartFragment-->
        <table>
            <tr>
                <td>1</td>
                <td data-sheets-note="test2">2</td>
            </tr>
        </table>
        <!--EndFragment-->
    </body>
</html>

它会粘贴到电子表格中,但注释不会添加到单元格中。

如果我再拿一个上一个示例并再次将其推入剪贴板(HTML格式),我可以再次粘贴到Google工作表中并添加注释,因此格式正确且存储注释的属性in也是正确的(因为它是唯一持有该笔记内容并被粘贴的地方)。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

data-sheets-note属性确实是正确的。但是,为了让它被接受,我们需要撒谎。必须告诉我们,剪贴板内容是由Google表格生成的。

我们可以告诉您使用元标记:

<html>
    <body>
        <!--StartFragment-->
        <meta name="generator" content="Sheets"/>
        <table>
            <tr>
                <td>1</td>
                <td data-sheets-note="test2">2</td>
            </tr>
        </table>
        <!--EndFragment-->
    </body>
</html>

现在工作表也会识别评论。