【问题标题】:Export more than one record in Excel ExtJS在 Excel ExtJS 中导出多条记录
【发布时间】:2017-08-13 03:12:29
【问题描述】:

我正在尝试将一个或多个记录从面板导出到 Excel 模板。迄今为止,我只能导出选定的记录,但我想改进这部分。我试过了,但找不到。

我的代码 ExtJS:

var prevFnExcel = function(grid, store, selModel){
        var parameters = store.data.keys.toString();
        var url = ctx + '/facturas.do?op=exportarExcel&idsFacturas=' + parameters;

        Ext.DomHelper.append(document.body, {
            tag: 'iframe',
            id:'informeIframe',
            frameBorder: 0,
            width: 0,
            height: 0,
            css: 'display:none;visibility:hidden;height:0px;',                       
            src: url
      });
     return false;
};

在使用 Spring 时,我使用 mvc。我的 Java 类已实现:

    /*
     * (non-Javadoc)
     * @see pack.senectus.facturas.service.FacturasService#exportarExcel(javax.servlet.http.HttpServletResponse, java.io.InputStream, java.lang.Integer)
     */
    @Override
    public void exportarExcel(HttpServletResponse response, InputStream reporte, List<Integer> idsFacturas) throws ClassNotFoundException, Exception{

        List<DatosFactura> listaDatosFactura = new ArrayList<DatosFactura>();

        for (Integer id : idsFacturas) {
            DatosFactura datosFactura = new DatosFactura();
            Sene1FacturaTeleasistencia factura = (Sene1FacturaTeleasistencia) sene1FacturaTeleasistenciaDAO.getById(id);
            datosFactura.setSene1FacturaTeleasistencia(factura);
            listaDatosFactura.add(datosFactura);
        }

        String titulo = "export_facturas.xls";
        JasperUtils.generarExcelJasperReport(reporte, listaDatosFactura, null, response, titulo);

    }   

控制器是:

public ModelAndView exportarExcel(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException, Exception{
        String dev = "";
        String ids = ServletRequestUtils.getStringParameter(request, "idsFacturas", "");
        String[] idsFacturas = ids.split(",");
        try{
            InputStream reporte = request.getSession(true).getServletContext().getResourceAsStream("/WEB-INF/reportes/facturaExcel.jrxml");
            facturaTeleasistenciaService.exportarExcel(response, reporte, Arrays.asList(ArrayUtils.toObject(Stream.of(idsFacturas).mapToInt(Integer::parseInt).toArray())));
        } catch (BusinessException e) {

            dev = Utils.successJsonWithId(Boolean.FALSE, e.getMessage(), 1);
        }
        return createJSONMaV(dev);

    }

【问题讨论】:

  • 谁能帮帮我?

标签: java spring servlets model-view-controller extjs


【解决方案1】:

考虑到一般知识,我会留下解决方案,以防万一。

var prevFnPDF = function (grid, store, selModel) {
var recordSelected = selModel.selections.map;
var obj = new Array ();
for (r in recordSelected) {
obj.push (r);
}
var url = ctx + '/facturas.do?op=exportarPdf&idsFacturas=' + obj.toString ();

【讨论】:

    猜你喜欢
    • 2019-08-10
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    相关资源
    最近更新 更多