问题描述
我有一个导出到 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>
这是启动数据表的脚本。
<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?
谢谢!
解决方法
我找到了解决方法:
我使用以下内容修改了数据表创建:
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']]
});