我有一个HTML表格,我想复制到剪贴板 但是,我不希望复制标题行,只需要复制表格的其余部分 这是表格:
<table style="width:100%" #table>
<tr>
<th class="border"></th>
<th class="border"></th>
<th class="border"></th>
<th class="border"></th>
<th class="border"></th>
<th class="border"></th>
</tr>
<ng-template ngFor let-table [ngForOf]="mCase.Tables" let-i="index">
<ng-template ngFor let-row [ngForOf]="table.rows" let-rowIndex="index">
<tr>
<td>
....
</td>
</tr>
</ng-template>
</ng-template>
</table>
这是我用来复制它的Javascript:
@ViewChild('table') table: ElementRef;
var body = document.body as HTMLElement, range, sel;
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
sel.removeAllRanges();
try {
range.selectNodeContents(this.table.nativeElement);
sel.addRange(range);
} catch (e) {
range.selectNode(this.table.nativeElement);
sel.addRange(range);
}
} else if (body.createTextRange) {
range = body.createTextRange();
range.moveToElementText(this.table.nativeElement);
range.select();
}
document.execCommand("Copy");
此代码复制所有表格 如何复制没有标题行的表?
答案 0 :(得分:1)
在<thead>
代码中使用<tbody>
和<table>
,只选择<tbody>
而不是选择整个表格。
修改强>
DataTables解决了这个问题 查找详细解释here
您可以查看DataTables
的YouTube链接此处也选择了标题。但是,如果您不希望,您可以根据自己的方便进行更改。 你应该操纵下面的脚本
https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js
exportOptions: {},
fieldSeparator: "\t",
fieldBoundary: "",
header: !0,
footer: !1,
title: "*",
messageTop: "*",
messageBottom: "*"
您可以从第286-293行找到这些内容 因为您不希望标题更改为
header: !1,
更改行后使用此新脚本。