Номер jQGrid для текста при экспорте в Excel - PullRequest
0 голосов
/ 26 декабря 2018

Я использую jqgrid 5.3.2

Это моя функция, которая получает сервер данных

function GetReportData(gridData) {
            var grid_selector = "#DeliveryStatusReportGrid";
            var pager_selector = "#DeliveyStatusReportpager_list_1";

            $(grid_selector).jqGrid({
                data: gridData,
                datatype: "local",
                height: 400,
                autowidth: true,
                shrinkToFit: true,
                rowNum: 13,
                rowList: [10, 20, 30],
                colNames: ['Code', 'CardAccountNo'],
                colModel: [
                { name: 'Code', width: 10, key: true, align: 'center', hidden: true },

                { name: 'Card_Number', width: 1000, index: 'Card_Number', width: 20, search: true, align: 'center' },
                ],
                pager: pager_selector,
                viewrecords: true,
                caption: "Customer Gift Report",
                hidegrid: false,
                loadComplete: function () {
                    $(grid_selector).jqGrid('setGridWidth', $(grid_selector).closest(".jqgrid").width());
                    jQuery(grid_selector).trigger('resize');
                }
            }).trigger('reloadGrid', [{ page: 1 }]);
        }

Это мой экспорт в Excel

$("#exportToExcel").on("click", function () {
            $("#DeliveryStatusReportGrid").jqGrid("exportToExcel", {
                includeLabels: true,
                includeGroupHeader: true,
                includeFooter: true,
                fileName: "DeliveryStatus.xlsx",
                maxlength: 40 // maxlength for visible string data
            })
        })

Нокогда я экспортирую в Excel, мой номер меняется Например, с 5402760000484016 на 5402760000484010 Проблема форматирования номера Excel. Поэтому я хочу преобразовать свой номер в текст, чтобы он не изменялся и не форматировался при экспорте в Excel с использованием Jqgrid.Благодарный

1 Ответ

0 голосов
/ 27 декабря 2018

Это на самом деле проблема в Excel, который не может обрабатывать числа более 15 цифр.Вы можете прочитать больше об этой проблеме здесь

Мы позаботились об этой проблеме и исправили ее, установив номер, который будет отображаться в виде строки, если они> 15 цифр.Если вы являетесь лицензированным пользователем, сообщите нам об этом, и мы вышлем вам исправление.

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

{ name: 'Card_Number', 
    width: 1000, 
    index: 'Card_Number', 
    width: 20, 
    search: true, 
    align: 'center',
    formatter : function ( value, options, rdata) {
        if( options.exporttype === "excel") {
            return value+' ';
        } else {
            return value;
        }
    }
 }
...