嗨,我正在使用jQuery Datatables。我试图导出CSV Datatable多个标题行,但没有得到。但它只导出第二个标题行。我正在使用按钮:
buttons: [{
extend: 'CSV',
header: true
}, {
extend: 'print',
header: true
}],
我的table结构是这样的
<table id="example" style="color: black;" class="display compact cell-border" cellspacing="0">
<thead>
<tr>
<th rowspan="2">Sl.No</th>
<th rowspan="2">Zone</th>
<th colspan="2">Allotted</th>
<th colspan="2">Vacant</th>
<th colspan="2">Amenities</th>
<th colspan="2">Total</th>
</tr>
<tr>
<th>No Of Plots</th>
<th>Area</th>
<th>No Of Plots</th>
<th>Area</th>
<th>No Of Plots</th>
<th>Area</th>
<th>No Of Plots</th>
<th>Area</th>
</tr>
</thead>
</table>
1条答案
按热度按时间mqxuamgl1#
最简单的方法是编写一个硬编码的CSV字符串,表示第一个标题行-因此在您的情况下:
注意回车和换行符在结尾
\r\n
。您可以在JavaScript字符串中使用它,并使用
customize
函数将其前置到主CSV导出数据:警告:
然而我不得不说,在CSV文本文件中有两个标题记录通常不是一个好主意(在我看来)。如果你想自动处理这个CSV文件,有2个标题行将需要一些额外的工作。
此外,如果有人想在Excel中打开CSV文件,他们不会看到HTML表中的合并单元格-因为CSV文件只是一个文本文件,它没有合并单元格或colspan的概念。
附加说明:
确保您使用的是最新版本的DataTables -支持
csvHtml5
的版本。如果您还没有相关的最新Buttons库,您也可以从DataTables downloads页面获得它。