Я использую jQuery DataTables в Laravel и хочу использовать функцию экспорта плагина.
Теперь моя проблема в том, что в моей таблице вместо HTML есть какой-то HTML, так что вместоФактический текст Я отображаю галочку.
Пример
<td>
<span class="{{($r->submitted == 1)?'checkbox-checked':''}}">
<i class="material-icons md-18">check_box</i>
</span>
</td>
Когда я экспортирую эту таблицу в Excel, я получаю значение td 'check_box', поэтому Excel выглядит так
+-----------+----------+-----------+-----------+--+
| Firstname | Lastname | Option 1 | Option 2 | |
+-----------+----------+-----------+-----------+--+
| Christos | Savva | check_box | check_box | |
+-----------+----------+-----------+-----------+--+
| Second | Person | check_box | check_box | |
+-----------+----------+-----------+-----------+--+
| Third | Person | check_box | check_box | |
+-----------+----------+-----------+-----------+--+
Очевидно, что это не имеет смысла в файле Excel, тогда как на экране все в порядке, потому что я отображаю значки.
В соответствии с документацией, я пытался использовать Формат вывода данных - параметры экспорта
var buttonCommon = {
exportOptions: {
format: {
body: function ( data, row, column, node ) {
//Do stuff to replace check_box with word Yes
//or no
return data
}
}
}
};
И тут возникает проблема.Когда я возвращаю данные из своей функции, он возвращает весь html-блок внутри td.
Так что Excel выглядит следующим образом
+-----------+----------+---------------------------------------------------------------+---------------------------------------------------------------+--+
| Firstname | Lastname | Option 1 | Option 2 | |
+-----------+----------+---------------------------------------------------------------+---------------------------------------------------------------+--+
| Christos | Savva | <span class="{{($r->submitted == 1)?'checkbox-checked':''}}"> | <span class="{{($r->submitted == 1)?'checkbox-checked':''}}"> | |
| | | | | |
| | | <i class="material-icons md-18">yes</i> | <i class="material-icons md-18">yes</i> | |
| | | | | |
| | | </span> | </span> | |
+-----------+----------+---------------------------------------------------------------+---------------------------------------------------------------+--+
| Second | Person | <span class="{{($r->submitted == 1)?'checkbox-checked':''}}"> | <span class="{{($r->submitted == 1)?'checkbox-checked':''}}"> | |
| | | <i class="material-icons md-18">yes</i> | | |
| | | </span> | <i class="material-icons md-18">yes</i> | |
| | | | | |
| | | | </span> | |
+-----------+----------+---------------------------------------------------------------+---------------------------------------------------------------+--+
| Third | Person | <span class="{{($r->submitted == 1)?'checkbox-checked':''}}"> | <span class="{{($r->submitted == 1)?'checkbox-checked':''}}"> | |
| | | | | |
| | | <i class="material-icons md-18">yes</i> | <i class="material-icons md-18">yes</i> | |
| | | | | |
| | | </span> | </span> | |
+-----------+----------+---------------------------------------------------------------+---------------------------------------------------------------+--+
Кто-нибудь знает, как мне этого добиться?