我使用DataTable将数据显示为表格。它在标题顶部有几个按钮。一个按钮可以将数据导出到excel中。但是,导出的数据无法在Excel中打开,因为错误为unreadable content
。
经过一些调试,我发现这是由于这个原因引起的
<input type="hidden" class="note_dr_dh" value="<?php echo $row->DISPOSISI; ?>" />
我也有几个隐藏的文本框,但只有那个特定的隐藏文本框才是我的问题的根源。当我将其导出为CSV时,我发现隐藏文本框中的文本也会导出到excel,而其他文本框值则不会。它已用于我的应用中的某些功能,因此不应将其删除。
我的导出脚本:
$('.dataTables-example').DataTable({
pageLength : 10,
responsive : true,
dom : '<"html5buttons"B>lTfgitp',
buttons : [
{extend: 'copy'},
{extend: 'csv', title: "Daftar_Seluruh_Surat_<?php echo $this->session->userdata('dept'); ?>"},
{extend: 'excel', title: "Daftar_Seluruh_Surat_<?php echo $this->session->userdata('dept'); ?>"},
{extend: 'pdf', title: "Daftar_Seluruh_Surat_<?php echo $this->session->userdata('dept'); ?>"},
{extend: 'print',
customize: function (win){
$(win.document.body).addClass('white-bg');
$(win.document.body).css('font-size', '10px');
$(win.document.body).find('table').addClass('compact').css('font-size', 'inherit');
}
}
]
});
我的桌子(不是所有栏目。只有问题的那个):
<td class="text-center td_link" style="vertical-align:middle !important">
<a style="text-decoration:none" class='a_surat' href='javascript:void(0)'><?php echo $row->ID_REQUIREMENT; ?></a>
<input type="hidden" class="id_req" value="<?php echo $row->ID_REQUIREMENT; ?>" />
<input type="hidden" class="note_dr_dh" value="<?php echo $row->DISPOSISI; ?>" />
<input type="hidden" class="uploaded" value="<?php echo $row->UPLOAD_IMAGE; ?>" />
<input type="hidden" class="stat_memo" value="<?php echo $row->STATUS; ?>" />
</td>
注意(如果这些帮助):
$row->ID_REQUIREMENT, $row->UPLOAD_IMAGE, $row->STATUS, $row->UPLOAD_IMAGE
= VARCHAR $row->DISPOSISI
= TEXT; 答案 0 :(得分:0)
尝试在隐藏的文本框后添加隐藏的跨度:
<input type="hidden" class="note_dr_dh" value="<?php echo $row->DISPOSISI; ?>" /><span style="display: none;"></span>
或
在您的数据表脚本上添加:
$('.dataTables-example').DataTable( {
buttons: [
{
extend: 'excel',
title: "Daftar_Seluruh_Surat_<?php echo $this->session->userdata('dept'); ?>",
exportOptions: {
stripHtml: false // to enable the element styling
}
}
]
} );