@Command public void exportar() throws CloneNotSupportedException { // if(itemSel == null){ // Clientes.showWarning("Seleccione una factura para realizar esta operacion"); // return; // } XSSFWorkbook workbook = new XSSFWorkbook(); // Create a blank sheet XSSFSheet sheet = workbook.createSheet("Articulos"); // This data needs to be written (Object[]) // Map<String, Object[]> data = new TreeMap<String, Object[]>(); // data.put("1", new Object[] { "ID", "COD.GRUPO" // , "GRUPO" // , "COD.ART" // , "COD.ART" // , "ARTICULO" // , "MARCA" // , "PROCEDENCIA" // , "U.MEDIDA" // , "CANT" // }); Filtro f = new Filtro(); // f.setId_facturacion(itemSel.getId()); f.setInicio(0); f.setFin(0); java.util.List itemsModel = itemsDao.selectPagos(f); // detalleFacturasMapper.selectDetalle(f); Iterator<Articulos> det = itemsModel.iterator(); int rownum = 1; // cabeceras Row row0 = sheet.createRow(0); int i = 0; row0.createCell(i++).setCellValue("COD.GRUPO"); row0.createCell(i++).setCellValue("GRUPO"); row0.createCell(i++).setCellValue("COD.ART"); row0.createCell(i++).setCellValue("ARTICULO"); row0.createCell(i++).setCellValue("MARCA"); row0.createCell(i++).setCellValue("PROCEDENCIA"); row0.createCell(i++).setCellValue("U.MEDIDA"); row0.createCell(i++).setCellValue("CANTIDAD"); // FacturasItemsExample fie = new FacturasItemsExample(); // fie.createCriteria().andId_factEqualTo(itemSel.getId()); // List<FacturasItems> flist = facturasItemsMapper.selectByExample(fie); // Iterator<FacturasItems> flistItem = flist.iterator(); // int i = 5; // while (flistItem.hasNext()) { // FacturasItems ff = flistItem.next(); // row0.createCell(i++).setCellValue(ff.getDescripcion()); // } // datos while (det.hasNext()) { Articulos df = det.next(); Row row = sheet.createRow(rownum++); i = 0; row.createCell(i++).setCellValue(df.getCodigogrupo()); row.createCell(i++).setCellValue(df.getGrupo()); row.createCell(i++).setCellValue(df.getCodigo()); row.createCell(i++).setCellValue(df.getArticulo()); row.createCell(i++).setCellValue(df.getMarca()); row.createCell(i++).setCellValue(df.getProcedencia()); row.createCell(i++).setCellValue(df.getUnidadmedida()); row.createCell(i++).setCellValue(new BigDecimal("0").doubleValue()); // DetalleFacturasItemsExample de = new DetalleFacturasItemsExample(); // de.createCriteria().andId_dfEqualTo(df.getId()); // List<DetalleFacturasItems> dflist = detalleFacturasItemsMapper // .selectByExample(de); // Iterator<DetalleFacturasItems> dfit = dflist.iterator(); // i = 5; // while (dfit.hasNext()) { // DetalleFacturasItems dfi = dfit.next(); // row.createCell(i++).setCellValue(dfi.getValor().doubleValue()); // } } try { // Write the workbook in file system ParametrosKey pk = new ParametrosKey(); pk.setId("DATA_FOLDER"); pk.setId_app(UsuarioLogueado.getIdApp()); String dataFolder = parametrosMapper.selectByPrimaryKey(pk).getValor(); String path = dataFolder + File.separatorChar + "export_articulos_tmp.xlsx"; FileOutputStream out = new FileOutputStream(new File(path)); workbook.write(out); out.close(); File iof = new File(path); if (!iof.exists()) { Clientes.showWarning("No se puede encontrar el archivo generado"); return; } java.io.InputStream is = new FileInputStream(iof); // desktop.getWebApp().getResourceAsStream(path); if (is != null) { AMedia am = new AMedia(iof, null, null); SimpleDateFormat fmt = new SimpleDateFormat("MM-yyyy"); String fe = fmt.format(new java.util.Date()); String me = fe.substring(0, 7); Filedownload.save(is, am.getContentType(), "Db_productos_" + me); } else { Clientes.showWarning("No se puede encontrar el archivo generado"); } // System.out.println("howtodoinjava_demo.xlsx written successfully on disk."); } catch (Exception e) { e.printStackTrace(); } }