Javascript jqgrid导出到excell。不仅从表中添加数据
jqgrid中有一个完美的函数:exportToExcel。它很好用。我想知道是否有一些选项可以添加到导出的文件中,附加的列或数据不是来自表,而是来自我的自定义数据。首先感谢您提出的问题,它非常有用 为了完成请求的工作,您首先需要下载的最新版本 要执行此任务,您需要在exportToExcel方法中使用onBeforeExport事件,代码如下:Javascript jqgrid导出到excell。不仅从表中添加数据,javascript,jqgrid,Javascript,Jqgrid,jqgrid中有一个完美的函数:exportToExcel。它很好用。我想知道是否有一些选项可以添加到导出的文件中,附加的列或数据不是来自表,而是来自我的自定义数据。首先感谢您提出的问题,它非常有用 为了完成请求的工作,您首先需要下载的最新版本 要执行此任务,您需要在exportToExcel方法中使用onBeforeExport事件,代码如下: $("#export").on("click", function(){ $("#jqGrid").jqGrid("exportToExcel
$("#export").on("click", function(){
$("#jqGrid").jqGrid("exportToExcel",{
...
onBeforeExport : function ( xlsx, rowPos ) {
// rowPos is the last inserted index with data in the excel sheet
var sheet = xlsx.xl.worksheets['sheet1.xml'];
// function to add a row
function Addrow(index, data) {
var row = sheet.createElement('row');
row.setAttribute("r", index);
for (i = 0; i < data.length; i++) {
var key = data[i].key;
var value = data[i].value;
var c = sheet.createElement('c');
c.setAttribute("t", "inlineStr");
//c.setAttribute("s", "2"); This make it bold
c.setAttribute("r", key + index);
var is = sheet.createElement('is');
var t = sheet.createElement('t');
var text = sheet.createTextNode(value)
t.appendChild(text);
is.appendChild(t);
c.appendChild(is);
row.appendChild(c);
}
return row;
}
var r1 = Addrow(++rowPos, [{ key: 'A', value: rowPos }, { key: 'B', value: 'Product1' }]);
var r2 = Addrow(++rowPos, [{ key: 'A', value: rowPos }, { key: 'B', value: 'Product2' }]);
var r3 = Addrow(++rowPos, [{ key: 'A', value: rowPos }, { key: 'B', value: 'Product3' }]);
var r4 = Addrow(++rowPos, [{ key: 'A', value: rowPos }, { key: 'B', value: 'Product4' }]);
// get sheetData
var sheetData = sheet.getElementsByTagName('sheetData')[0];
sheetData.insertBefore(r4,sheetData.childNodes[0]);
sheetData.insertBefore(r3,sheetData.childNodes[0]);
sheetData.insertBefore(r2,sheetData.childNodes[0]);
sheetData.insertBefore(r1,sheetData.childNodes[0]);
}
});
});
$(“#导出”)。在(“单击”,函数(){
$(“#jqGrid”).jqGrid(“exportToExcel”{
...
onBeforeExport:函数(xlsx、rowPos){
//rowPos是excel工作表中最后插入的包含数据的索引
var sheet=xlsx.xl.worksheets['sheet1.xml'];
//函数添加一行
函数Addrow(索引、数据){
var row=sheet.createElement('row');
row.setAttribute(“r”,索引);
对于(i=0;i
我认为您应该使用Guriddo jqGrid吗?应为自定义数据添加哪些内容-应修改新列、新行或现有数据?@TonyTomov,是。我需要用我的自定义数据在excell中的导出表上方添加新行。谢谢你,Tony!你救了我,很高兴能帮上忙。非常感谢。