我正在使用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时不会更改或格式化 任何帮助都是感激之情
答案 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;
}
}
}