【问题标题】:datatable export without cell comment没有单元格注释的数据表导出
【发布时间】:2021-01-13 18:48:12
【问题描述】:

我有一个导出到 excel 的数据表,它正在工作,但是我想在将鼠标悬停在某些单元格上时添加 cmets。我面临的问题是当它导出到 excel 时,悬停文本会出现,我不想要它。

这是控制我的悬停隐藏 cmets 的样式表。

      <style>
          .CellWithComment{
          position:relative;
        }

        .CellComment{
          display:none;
          position:absolute;
          z-index:100;
          border:1px;
          background-color:white;
          border-style:solid;
          border-width:1px;
          border-color:red;
          padding:3px;
          color:red;
          top:20px;
          left:20px;
        }

        .CellWithComment:hover span.CellComment{
          display:block;
        }
      </style>

这是启动数据表的脚本。

      <script>

              var instances = $('#instances').DataTable({
                  columnDefs: [{
                      orderable: false,
                      className: 'td-body-center',
                      targets: 0
                  }],
                  select: {
                      style: 'os',
                      selector: 'td:first-child'
                  },
                  dom: 'Bfrtip',
                  buttons: ['excelHtml5'],
                  order: [[1, 'asc']]
              });
      </script>

这是表格的一部分,显示了我是如何撰写评论的。

          <tr>
                      <td><label for="running"> running</label></td>
                      <td><label for="Linux"> Linux</label></td>
                      <td class="CellWithComment"><label for="True"> True</label>
                          <span class="CellComment">Here is a comment</span>
                      </td>
                      <td class="CellWithComment"><label for="True"> True</label>
                          <span class="CellComment">Here is a comment</span>
                      </td>
          </tr>

“这是一条评论”是隐藏的,当您将鼠标悬停在网络表格上时会显示出来,但是一旦您将其导出到 excel 中,就会在单元格中显示以下内容...

True                           Here is a comment

有没有办法防止评论导出到excel?

谢谢!

【问题讨论】:

    标签: javascript python html excel datatables


    【解决方案1】:

    我发现了如何解决这个问题:
    我用以下内容修改了数据表的创建:

              var instances = $('#instances').DataTable({
                  columnDefs: [{
                      orderable: false,
                      className: 'td-body-center',
                      targets: 0
                  }],
                  select: {
                      style: 'os',
                      selector: 'td:first-child'
                  },
                  dom: 'Bfrtip',
                  buttons: [
                      {
                          extend: 'excelHtml5',
                          exportOptions: {
                              format: {
                                  body: function ( data, row, column, node ) {
                                      return data = node.innerText;
                                  }
                              }
                          }
                      }
                      ],
                  order: [[1, 'asc']]
              });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 2018-02-23
      相关资源
      最近更新 更多