导出到Excel时将jQGrid编号转换为文本

时间:2018-12-26 06:07:22

标签: jquery html excel jqgrid export-to-excel

我正在使用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数字格式问题 所以我想将我的数字转换为文本,以便在使用Jqgrid导出到Excel时不会更改或格式化 任何帮助都是感激之情

1 个答案:

答案 0 :(得分:1)

这实际上是excel中的一个问题,它不能处理超过15位的数字。您可以在此problem here

上阅读更多内容

我们已经解决了这个问题,并已解决了将其设置为大于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;
        }
    }
 }