Bootstrap TableExport десятичная проблема

У меня есть таблица начальной загрузки, отображающая данные о сотрудниках, включая идентификатор платежной ведомости, который имеет данный формат: 1606.xxxx

Вот как выглядит мой стол:

<table id="table_search"data-toggle="table"data-search="true"data-show-refresh="true"data-show-toggle="true"data-show-columns="true"data-show-export="true"data-minimum-count-columns="2"data-show-pagination-switch="true"data-pagination="true"data-page-list="[10, 25, 50, 100, ALL]"data-show-footer="false"data-export-data-type="all"data-export-types="['excel']">
<thead>
<tr>
<th data-field="id">ID</th>
<th data-field="payroll_id" >Payroll ID</th>
<th data-field="nama_karyawan">Employee Name</th>
<th data-field="level">Level</th>
<th data-field="grade">Grade</th>
<th data-field="title">Title</th>
<th data-field="lokasi">Location</th>
<th data-field="cost_sales">Cost Sales</th>
<th data-field="dept">Department</th>
<th data-field="div">Division</th>
<th data-field="dir">Directorat</th>
<th data-field="active_period">Active Period</th>
</tr>
</thead>
</table>

Таблица отображает его правильно, однако, когда я экспортирую его в Excel, используя TableExport плагин идет так
экспортированные результаты

Как видите, плагин как-то воспринимает его как число с десятичной дробью, чего я и избегаю. Я попытался прокомментировать функцию parseNumber, которая может быть причиной в js-файле tableExport, однако результаты всегда получаются одинаковыми

Что я делаю неправильно ?

PS: Я не хочу форматирования после экспорта файла, я хочу, чтобы он экспортировал данные как есть.

0

Решение

Вы могли бы использовать

...
<td data-tableexport-msonumberformat="\@">123.450</td>
...

С этим tableExport.js буду использовать mso-number-format: "\@" как TDстиль при создании HTMLЭкспорт в Excel. Это приводит к форматированию ячейки как Text,

Пример:
http://jsfiddle.net/uqtubq5c/1/

Вы также можете использовать

...
<td data-tableexport-msonumberformat="0.000">123.450</td>
...

Это приводит к числовому формату 0.000 в Excel. Таким образом, содержимое ячейки остается номером и будет использоваться в расчетах в дальнейшем. Text может привести к проблемам при использовании в расчетах.


Если вы не можете установить собственный data-tableexport-msonumberformat приписывает TD элементы, то вы могли бы расширить tableExport.jquery.plugin,

В tableExport.js иметь:

...
var defaults = {
onMsoNumberFormat: onMsoNumberFormat,
...

onMsoNumberFormat должен быть функцией.

Если функция onMsoNumberFormat как:

onMsoNumberFormat = function(cell, row, col) {
if (row > 0 && col == 2) {
return "#\\,##0\\.00";
}
if (row > 0 && col == 3) {
return "\\@";
}
};

тогда третий столбец (col == 2) из ​​строки 2 (строка> 0) и выше получит style="mso-number-format:#\,##0\.00" и четвертый столбец (col == 3) из строки 2 (строка> 0) и выше получит style="mso-number-format:\@", @ является Textформат.

Пример:
http://jsfiddle.net/uqtubq5c/3/

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector