DataTables: Цвет фона в зависимости от значения - PullRequest
0 голосов
/ 17 октября 2019

У меня есть следующее:

buttons: [
    { 
        extend: 'excelHtml5', text: 'Export to Excel', footer: true,
        exportOptions: {
            columns: ':not(.excel-exclude)',
            format: {
                body: function ( data, column, row ) {
                     data = data.replace(/<br\s*\/?>/ig, "\n");
                     return data.replace(/<.*?>/ig, "");
                }
            }
        },
        // 11 = red
        // 16 = green
        customize: function( xlsx ) {
            var sheet = xlsx.xl.worksheets['sheet1.xml'];
            var col = $('col', sheet);
            // FIRST
            $('row c[r^="A"],row c[r^="B"],row c[r^="C"],row c[r^="D"],row c[r^="E"],row c[r^="F"],row c[r^="G"],row c[r^="H"],row c[r^="I"],row c[r^="J"],row c[r^="K"],row c[r^="L"],row c[r^="M"],row c[r^="N"],row c[r^="O"],row c[r^="P"],row c[r^="Q"],row c[r^="R"],row c[r^="S"],row c[r^="T"],row c[r^="U"],row c[r^="V"],row c[r^="W"],row c[r^="X"],row c[r^="Y"],row c[r^="Z"]', sheet).each(function() {
                if ($('is t', this).text()) {
                    $(this).attr('s', '55');
                }
            })
            // SECOND
            $('row c[r^="Z"],row c[r^="AA"],row c[r^="AB"],row c[r^="AC"]', sheet).not(':first').not(':last').each(function() {
                if ($('is t', this).val()==1) {
                    $(this).attr('s', '11');
                }
                if ($('is t', this).val()==0) {
                    $(this).attr('s', '16');
                }
            })
        }
    }
],

Бит кода в FIRST работает хорошо, но есть ли лучший способ получить все столбцы, на которые я ссылаюсь, но в более сжатой форме?

Бит под // SECOND - для столбцов от Z до BB, я хочу, чтобы фон был зеленым, если значение равно 1, и красным, если фон равен 0, но ничего не окрашено. Я хочу пропустить строки верхнего и нижнего колонтитула. .

Есть очевидная причина, почему? В Excel 0 и 1 встречаются как числа (выравнивание по правому краю в ячейке) - это почему? Как бы я решил это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...