在我的项目中,我从数据库中获取数据并将其存储在数据中。我想从数据表中使用FileExport DataTable将数据导出到Excel,但是Excel结果报告与数据表中的数据相同。
我将以下代码用于实施数据表:
$('#grid').DataTable({
ajax: {
url: '@Url.Action("Binding", "ETCPSummaryReport")',
data: {
SCode : spesial,
divisioncode: $("#Division").val(),
},
},
searching: false,
destroy: true,
bPaginate: true,
bLengthChange: false,
bFilter: false,
bInfo: false,
bSort: false,
responsive: true,
bServerSide: true,
bProcessing: true,
dom: 'Bfrtip',
buttons: [
{
extend: 'excelHtml5',
title: 'Data export'
}
],
columns: [
{ "title": "Name" },
{ "title": "PAR" },
{ "title": "Total" },
{ "title": "TotalETCPPSR" },
],
columnDefs: [
{ visible: false, targets: 0 }
],
order: [[0, 'asc']],
displayLength: 25,
drawCallback: function (settings) {
var api = this.api();
var rows = api.rows({ page: 'current' }).nodes();
var last = null;
api.column(0, { page: 'current' }).data().each(function (group, i) {
if (last !== group) {
$(rows).eq(i).before(
'<tr class="group"><td colspan="5">' + group + '</td></tr>'
);
last = group;
}
});
}
});
答案 0 :(得分:0)
$('#grid').DataTable({
ajax: {
url: '@Url.Action("Binding", "ETCPSummaryReport")',
data: {
SCode : spesial,
divisioncode: $("#Division").val(),
},
},
searching: false,
destroy: true,
bPaginate: true,
bLengthChange: false,
bFilter: false,
bInfo: false,
bSort: false,
responsive: true,
bServerSide: true,
bProcessing: true,
dom: 'Bfrtip',
buttons: [
{
extend: 'excelHtml5',
title: 'Data export'
},
{
extend: 'excel',
text: 'Download Excel'
}
],
columns: [
{ "title": "Name" },
{ "title": "PAR" },
{ "title": "Total" },
{ "title": "TotalETCPPSR" },
],
columnDefs: [
{ visible: false, targets: 0 }
],
order: [[0, 'asc']],
displayLength: 25,
drawCallback: function (settings) {
var api = this.api();
var rows = api.rows({ page: 'current' }).nodes();
var last = null;
api.column(0, { page: 'current' }).data().each(function (group, i) {
if (last !== group) {
$(rows).eq(i).before(
'<tr class="group"><td colspan="5">' + group + '</td></tr>'
);
last = group;
}
});
}
});
答案 1 :(得分:0)
Excel只能解析非常有限的一组HTML和CSS。因此某些样式根本无法使用。
首先,您必须确保 CSS文件包含在完全限定的路径和完全限定的域中。这是因为当浏览器将HTML文件传递给Excel时,它存储在一个临时位置。但是只有 HTML 文件存储在此位置,而不是所有包含的文件。因此,此HTML文件中的服务器相对链接将指向文件系统中的某个位置,而不指向样式表。是否从Excel得到警告取决于Excel版本,可能分别取决于用户设置或组策略。
也许这已经解决了您的问题。但是不要期望该表看起来与浏览器完全一样。颜色可以使用,但Excel有时会花哨的格式设置值。克服所有陷阱可能是一项艰巨的工作。您可能需要使用mso-...
CSS样式来驯化Excel。