尝试在导出过程中从数据表中删除 html
Trying to strip html from Datatables during export
我在这里使用数据表作为示例。因此,为了导出数据,我使用了一个函数,该函数允许我在 excel 中使用换行符更改<br>
。我用了这个:
return column === 5 ? data.replace( /<br's*'/?>/ig, "'n"): data;
但是,当我尝试添加我想对不同列进行的第二次更改时,它不起作用......我尝试在第一个工作替换的正下方添加它:
return column === 1 ? data.replace( /<.*?>/ig, ""): data;
我想在首先将<br>
更改为换行符后基本上去除所有 html 标签。但是就像我现在的代码一样,第二部分在导出过程中被忽略了......有谁知道我做错了什么?
这是我的完整代码:
var fixNewLine = {
exportOptions: {
format: {
body: function ( data, column, row ) {
return column === 5 ? data.replace( /<br's*'/?>/ig, "'n"): data;
return column === 1 ? data.replace( /<.*?>/ig, ""): data;
}
}
}
};
var t2e = $('#table2excel').DataTable({
dom: 'Bfrtip',
buttons:[
$.extend( true, {}, fixNewLine, {
extend: 'excelHtml5'
} ),
'pdf', 'print', 'copy', 'csv' //, 'excel'
]
});
代码中不能有多个返回语句,只执行第一个,请尝试以下操作:
var fixNewLine = {
exportOptions: {
format: {
body: function ( data, column, row ) {
if (column === 5) {
data = data.replace(/<br's*'/?>/ig, "'n");
}
return column === 1 ? data.replace(/<.*?>/ig, ""): data;
}
}
}
};
单独处理每一列的 switch 语句对我来说效果非常好。在下面查看我的用法...
var fixNewLine = {
exportOptions: {
format: {
body: function ( data, row, column, node ) {
switch(column){
case 1 : return column === 1 ? data.replace(/<.*?>/ig, "") : data; break;
case 2 : return column === 2 ? data.replace(/<.*?>/ig, "") : data; break;
case 3 : return column === 3 ? data.replace(/<.*?>/ig, "") : data; break;
case 4 : return column === 4 ? data.replace(/<.*?>/ig, "") : data; break;
case 5 : return column === 5 ? data.replace(/<.*?>/ig, "") : data; break;
case 6 : return column === 6 ? data.replace(/<.*?>/ig, "") : data; break;
default : return data; break;
}
}
}
}
};
相关文章:
- 如何根据某些条件向可编辑的jquery数据表添加或删除按钮
- 数据表中的FixedHead没有'删除分页后无法工作
- 无法删除数据表jquery中的多行
- 如何编辑和删除jQuery数据表的每一行
- 数据表删除按钮在其他页面上不起作用,除了第一个
- 尝试在导出过程中从数据表中删除 html
- 如果下一页或其他某个页面 JQuery 数据表中存在该行,如何删除该行
- 从数据表中删除 jquery MVC5
- 从数据表中删除行而不刷新整个页面
- JQuery 数据表添加新行,如果该行已经存在,请将其删除并为该 ID 插入新行
- 一键删除多个选定的数据表行
- 如何在不影响 Jquery 数据表中其他行的情况下删除选定的现有数据并添加新行
- 在按钮上,单击“从数据表中删除”,也从“数组中删除”
- 从数据表中的日期字段中删除时间戳
- 删除行时,数据表显示警告
- 删除和恢复数据表分页点击功能
- 正在从数据表中删除垂直边界线
- jQuery数据表:don't删除表行
- jQuery数据表-删除标签
- 数据表:删除除一个之外的所有选定输入