#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']]
});