1

我想将我的 jqgrid 导出到 excel。并且此代码对于基本的 jqgrid 工作正常,但我想导出分组 jqgrid 与每个组的摘要。我无法导出所有数据。未导出的每个组的摘要。而且我无法在 javascript 中获取每个组的摘要以手动发送到服务器。

我将 Jqgrid 客户端仅用于服务器端我只是生成 excel 所有数据发布回服务器以使用表单提交生成 excel。

这是我的网格:读取边界数据未在 excel 中导出。

在此处输入图像描述

这是我的 Excel 文件

在此处输入图像描述

我在 javascript 中的导出函数是:

function fun(){alert("call"); 

//options = ['xmlstring','grid'];
//jQuery("#list2").jqGrid('jqGridExport',options);
//userdata = jQuery("#list2").getUserData;

 numberOfRecords = $("#list2").getGridParam("records");

var mya=new Array();
    total = jQuery("#list2").jqGrid('footerData','get'); // to get the last footer data
    obj2 = jQuery("#list2").jqGrid('getCol','amount','array','sum');
    group = jqobj.groupField;

mya=jQuery("#list2").getDataIDs();  // Get All IDs
var data=jQuery("#list2").getRowData(mya[0]);     // Get First row to get the labels
var colNames=new Array();  
var ii=0;
var html="";
for (var i in data){colNames[ii++]=i;
html = html +i+"\t";}    // capture col names
html = html + "\n";
for(i=0;i<mya.length;i++)
    {
        data=jQuery("#list2").getRowData(mya[i]); // get each row
        for(j=0;j<colNames.length;j++)
            {
                html=html+data[colNames[j]]+"\t"; // output each column as tab delimited
            }
        html=html+"\n";  // output each row with end of line

    }

for(j=0;j<colNames.length;j++)
{
    html=html+total[colNames[j]]+"\t"; // output each column as tab delimited
}   

html=html+"\n";  // end of line at the end
//document.forms[0].csvBuffer.value = csv
alert(html);
document.forms[0].csvBuffer.value=html;
document.forms[0].method='POST';
document.forms[0].action='csvExport.jsp';  // send it to server which will open this contents in excel file
document.forms[0].target='_blank';
document.forms[0].submit();

}
4

0 回答 0