экспорт данных без комментариев к ячейкам

#javascript #python #html #excel #datatables

#javascript #python #HTML #преуспеть #таблицы данных

Вопрос:

У меня есть таблица данных, которая экспортируется в Excel, и она работает, однако я хочу добавлять комментарии при наведении курсора мыши на некоторые ячейки. Проблема, с которой я сталкиваюсь, заключается в том, что при экспорте в Excel появляется текст при наведении курсора, и я этого не хочу.

Вот таблица стилей, которая управляет моими скрытыми комментариями при наведении курсора мыши.

       <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>
 

Вот сценарий, который инициирует datatable.

       <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?

Спасибо!

Ответ №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']]
          });