Export Nach Excel JQGrid Daten in Spring/JSP

Ich bin der Entwicklung einer Web-Anwendung mit Spring 3.0, JSP, Fliesen.
Auf einer der JSP-Seiten habe ich auf dem display einige Daten mit JQgrid und ich habe zu bieten ein Knopf um den Benutzer zu exportieren, die Daten in JQgrid auf einem Excel-Sheet.

Habe ich erfolgreich erstellt, das JQgrid und bin in der Lage, um die Daten anzuzeigen.

Ich Frage mich, wie die Umsetzung der "Export To Excel" - Funktion an der Klick auf eine Schaltfläche.
Ich habe versucht, mehrere Lösungen, aber konnte nichts finden konkrete.

Mein hf-code:

@RequestMapping(method = RequestMethod.POST, value = "/workQueue") 
@ResponseBody   
public JqgridResponse loadXXXXXX(@RequestParam int page, @RequestParam int rows, @RequestParam String sidx, @RequestParam String sord){

    List<ReferralCase> referrals = XXXXService.getReferralCases();

    int endLimit = page * rows;
    int startLimit = endLimit - rows;
    if (endLimit > referrals.size()) {
        endLimit = referrals.size();
    }
    JqgridResponse response = new JqgridResponse();
    response.setRows(referrals.subList(startLimit, endLimit));
    response.setPage(page);
    response.setRecords(referrals.size());
    response.setTotal((referrals.size() / rows) + 1);
    return response;
}

Meine JSP/JS-Code:

    $("#XXXXWorkQueueGrid").jqGrid({
    url:contextRoot+'/dart/workQueue',
    datatype: 'json',
    mtype: 'POST',
    colNames: ['ID','Created','Last Name','First Name','A1','A2','Status','Updated','Workflow'],
    colModel: [
               { name: 'recordId', index: 'recordId', width: 30 },
               { name: 'creationDate', index: 'creationDate', width: 40 },                   
               { name: 'lastName', index: 'lastName', width: 60 },
               { name: 'firstName', index: 'firstName', width: 60 },
               { name: 'A1', index: 'A1', width: 25 },
               { name: 'A2', index: 'A2', width: 25 },
               { name: 'status', index: 'status', width: 40 },
               { name: 'updateDate', index: 'updateDate', width: 40 },
               { name: 'workflow', index: 'workflow', width: 90 }
    ],onPaging: function() {
        $(this).setGridParam({datatype: 'json'}).triggerHandler("reloadGrid");
    },loadComplete: function() {
        $(this).setGridParam({datatype: 'json'}).triggerHandler("reloadGrid");
    },loadError: function(xhr,st,err) {
        alert(err);
    },onSelectRow : function(rowid, status, e) {
        var selRow = $(this).getGridParam("selrow");
        var selRecordId = $(this).getCell(selRow, 'recordId');
        window.location = (contextRoot+"XXXX/referralDetails?recId=" + selRecordId );            
    },
    pager: '#XXXXWorkQueuePager',
    jsonReader: {
        repeatitems: false,
        root: "rows",
        page: "page",
        total: "total",
        records: "records"
    },
    sortorder: "asc",
    sortname: 'recordId',
    gridview: true,
    viewrecords: true,
    hoverrows : false,
    autowidth: true,
    height: 'auto',
    rowNum: 12,
    forceFit: true,
    altRows:true
});
$("#XXXXXWorkQueueGrid").jqGrid('navGrid','#XXXXXWorkQueuePager',{edit:false, add:false, del:false, search:false}); 

});

JqgridResponse ist nur eine benutzerdefinierte DAO-Klasse von mir erstellt.

Jede Hilfe ist willkommen!

InformationsquelleAutor tarares | 2013-02-01
Schreibe einen Kommentar