jQuery экспорт данных в настройку Excel - сделать первый ряд жирным - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть дата с кнопкой экспорта в 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' ); 

1 Ответ

0 голосов
/ 20 апреля 2020

Если у вас установлено расширение кнопок, то следующее напечатает пользовательский заголовок в первой строке таблицы и выделит его жирным шрифтом:

$(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
          }
        }
    ]
  } );

});

Пример:

enter image description here

Что касается предварительно определенных форматов, которые вы упомянули, вы можете посмотреть их список здесь .

0 - Normal text
1 - White text
2 - Bold
3 - Italic
4 - Underline
etc...

Пользовательские команды для управления экспортированными данными также приведены на той же странице. Но вам нужно обратиться к Листу JS для получения более подробной информации, я думаю.

...