jQuery 数据表导出到 Excel 自定义 - 将第一行设为粗体
jQuery datatable export to Excel customization - Make first row bold
我有一个带有导出到 excel 按钮的数据表,我正在尝试自定义。
我环顾四周,看看如何自定义并找到了一些,但仍然有问题。
当您导出到 excel 时,第一行似乎是页面标题。我想让这一行变得粗体;如果可能,用页面标题以外的其他内容替换文本。
这是我看到并尝试修改以实现我需要的内容:
buttons: [
{
extend: 'excelHtml5',
customize: function ( xlsx ){
var sheet = xlsx.xl.worksheets['sheet1.xml'];
// jQuery selector to add a border
//$('row c[r*="0"]', sheet).attr( 's', '25' );
//$('row c[r^="C"]', sheet).attr( 's', '2' ); // third column is bold
// Trying to make first row bold, this makes last row bold
$('row c[r*="0"]', sheet).attr( 's', '2' );
$(sheet.body)
.css('font-size', '10pt');
$(sheet.body).find('table')
.addClass('compact')
.css('font-size', 'inherit');
},
exportOptions: {
columns: [0, 1, 2]
},
},
此外,在应用格式时,我们似乎使用 'attr' 和第一个参数 's' 和一个数字。我怎么知道 25 表示边框而 2 表示粗体?
我不明白如何操作以下内容来影响样式更改:
$('row c[r*="0"]', sheet).attr( 's', '2' );
$('row c[r^="C"]', sheet).attr( 's', '25' );
假设您安装了按钮扩展程序,那么下面的代码将在电子表格的第一行打印一个自定义标题,并使该标题加粗:
$(document).ready(function() {
$('#myTable').DataTable( {
dom: 'Bfrtip',
buttons: [
{
extend: 'excel',
customize: function ( xlsx ) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
$('c[r=A1] t', sheet).text( 'Custom Heading in First Row' );
$('row:first c', sheet).attr( 's', '2' ); // first row is bold
}
}
]
} );
});
示例:
关于您提到的pre-defined格式,您可以see a list of them here。
0 - Normal text
1 - White text
2 - Bold
3 - Italic
4 - Underline
etc...
操作导出数据的自定义命令也在同一页面中进行了总结。但我想你需要参考 SheetJS 了解更多详情。
我有一个带有导出到 excel 按钮的数据表,我正在尝试自定义。 我环顾四周,看看如何自定义并找到了一些,但仍然有问题。
当您导出到 excel 时,第一行似乎是页面标题。我想让这一行变得粗体;如果可能,用页面标题以外的其他内容替换文本。
这是我看到并尝试修改以实现我需要的内容:
buttons: [
{
extend: 'excelHtml5',
customize: function ( xlsx ){
var sheet = xlsx.xl.worksheets['sheet1.xml'];
// jQuery selector to add a border
//$('row c[r*="0"]', sheet).attr( 's', '25' );
//$('row c[r^="C"]', sheet).attr( 's', '2' ); // third column is bold
// Trying to make first row bold, this makes last row bold
$('row c[r*="0"]', sheet).attr( 's', '2' );
$(sheet.body)
.css('font-size', '10pt');
$(sheet.body).find('table')
.addClass('compact')
.css('font-size', 'inherit');
},
exportOptions: {
columns: [0, 1, 2]
},
},
此外,在应用格式时,我们似乎使用 'attr' 和第一个参数 's' 和一个数字。我怎么知道 25 表示边框而 2 表示粗体?
我不明白如何操作以下内容来影响样式更改:
$('row c[r*="0"]', sheet).attr( 's', '2' );
$('row c[r^="C"]', sheet).attr( 's', '25' );
假设您安装了按钮扩展程序,那么下面的代码将在电子表格的第一行打印一个自定义标题,并使该标题加粗:
$(document).ready(function() {
$('#myTable').DataTable( {
dom: 'Bfrtip',
buttons: [
{
extend: 'excel',
customize: function ( xlsx ) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
$('c[r=A1] t', sheet).text( 'Custom Heading in First Row' );
$('row:first c', sheet).attr( 's', '2' ); // first row is bold
}
}
]
} );
});
示例:
关于您提到的pre-defined格式,您可以see a list of them here。
0 - Normal text
1 - White text
2 - Bold
3 - Italic
4 - Underline
etc...
操作导出数据的自定义命令也在同一页面中进行了总结。但我想你需要参考 SheetJS 了解更多详情。