List of usage examples for org.apache.poi.ss.usermodel Workbook getCreationHelper
CreationHelper getCreationHelper();
From source file:Valuacion.Exporta.java
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed // TODO add your handling code here: if(t_orden.getText().compareTo("")!=0) {/*from w ww. ja v a 2s .co m*/ FileNameExtensionFilter filtroImagen=new FileNameExtensionFilter("XLS","xls"); aviso.setFileFilter(filtroImagen); int r=aviso.showSaveDialog(null); if(r==aviso.APPROVE_OPTION) { boolean respuesta=true; File a=aviso.getSelectedFile(); File archivoXLS=null; if(a.exists()==true) { int i=JOptionPane.showConfirmDialog(null, "Deseas remplazar el archivo?", "confirmacin", JOptionPane.YES_NO_OPTION); if(i!=0) { respuesta=false; } else archivoXLS=a; } else { if(a.getName().indexOf(".xls")==-1) a= new File(a.getAbsoluteFile()+".xls"); archivoXLS=a; } if(respuesta==true) { Session session = HibernateUtil.getSessionFactory().openSession(); try { orden_act = (Orden)session.get(Orden.class, orden_act.getIdOrden()); //if(orden_act.getPedidos().isEmpty()==true) //{ //File archivoXLS = new File(t_orden.getText()+".xls"); if(archivoXLS.exists()) archivoXLS.delete(); Biff8EncryptionKey.setCurrentUserPassword("04650077"); archivoXLS.createNewFile(); Workbook libro = new HSSFWorkbook(); FileOutputStream archivo = new FileOutputStream(archivoXLS); Sheet hoja1 = libro.createSheet("especialidad"); Sheet hoja2 = libro.createSheet("catalogo"); Sheet hoja3 = libro.createSheet("marca"); Sheet hoja4 = libro.createSheet("tipo"); Sheet hoja5 = libro.createSheet("ejemplar"); Sheet hoja6 = libro.createSheet("orden"); Sheet hoja7 = libro.createSheet("partida"); Sheet hoja8 = libro.createSheet("compania"); Sheet hoja9 = libro.createSheet("imagen"); //***************************imagen******************************* Foto[] fotos = (Foto[]) orden_act.getFotos().toArray(new Foto[0]); for(int k=0;k<fotos.length-1;k++) { for(int f=0;f<(fotos.length-1)-k;f++) { if (fotos[f].getFecha().after(fotos[f+1].getFecha())==true) { Foto aux; aux=fotos[f]; fotos[f]=fotos[f+1]; fotos[f+1]=aux; } } } if(fotos.length>0) { try { InputStream is = new FileInputStream(ruta+"ordenes/"+orden_act.getIdOrden()+"/miniatura/"+fotos[0].getDescripcion()); byte[] bytes = IOUtils.toByteArray(is); int pictureIdx = libro.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG); is.close(); CreationHelper helper = libro.getCreationHelper(); Drawing drawing = hoja9.createDrawingPatriarch(); ClientAnchor anchor = helper.createClientAnchor(); anchor.setCol1(3); anchor.setRow1(2); Picture pict = drawing.createPicture(anchor, pictureIdx); pict.resize(); }catch(Exception e){e.printStackTrace();} } //************************especialidad***************************** Especialidad[] especialidad = (Especialidad[])session.createCriteria(Especialidad.class).list().toArray(new Especialidad[0]); Row h1r0=hoja1.createRow(0); h1r0.createCell(0).setCellValue("Partida"); h1r0.createCell(1).setCellValue("sub"); h1r0.createCell(2).setCellValue("registro"); if(especialidad.length>0) { for(int i=0; i<especialidad.length; i++) { Row fh1 = hoja1.createRow(i+1); fh1.createCell(0).setCellValue(especialidad[i].getIdGrupoMecanico()); if(especialidad[i].getDescripcion()!=null) fh1.createCell(1).setCellValue(especialidad[i].getDescripcion()); else fh1.createCell(1).setCellValue(""); fh1.createCell(2).setCellValue("o"); } } //************************catalogo***************************** Catalogo[] catalogo = (Catalogo[])session.createCriteria(Catalogo.class).list().toArray(new Catalogo[0]); Row h2r0=hoja2.createRow(0); h2r0.createCell(0).setCellValue("id_catalogo"); h2r0.createCell(1).setCellValue("nombre"); h2r0.createCell(2).setCellValue("id_especialidad"); h2r0.createCell(3).setCellValue("registro"); if(catalogo.length>0) { for(int i=0; i<catalogo.length; i++) { Row fh2 = hoja2.createRow(i+1); fh2.createCell(0).setCellValue(catalogo[i].getIdCatalogo()); if(catalogo[i].getNombre()!=null) fh2.createCell(1).setCellValue(catalogo[i].getNombre()); else fh2.createCell(1).setCellValue(""); fh2.createCell(2).setCellValue(catalogo[i].getEspecialidad().getIdGrupoMecanico()); fh2.createCell(3).setCellValue("o"); } } //************************marca***************************** Marca[] marca = (Marca[])session.createCriteria(Marca.class).list().toArray(new Marca[0]); Row h3r0=hoja3.createRow(0); h3r0.createCell(0).setCellValue("id_marca"); h3r0.createCell(1).setCellValue("nombre_marca"); h3r0.createCell(2).setCellValue("registro"); if(marca.length>0) { for(int i=0; i<marca.length; i++) { Row fh3 = hoja3.createRow(i+1); fh3.createCell(0).setCellValue(marca[i].getIdMarca()); fh3.createCell(1).setCellValue(marca[i].getMarcaNombre()); fh3.createCell(2).setCellValue("o"); } } //************************tipo***************************** Tipo[] tipo = (Tipo[])session.createCriteria(Tipo.class).list().toArray(new Tipo[0]); Row h4r0=hoja4.createRow(0); h4r0.createCell(0).setCellValue("tipo_nombre"); h4r0.createCell(1).setCellValue("e_pesado"); h4r0.createCell(2).setCellValue("registro"); if(tipo.length>0) { for(int i=0; i<tipo.length; i++) { Row fh4 = hoja4.createRow(i+1); fh4.createCell(0).setCellValue(tipo[i].getTipoNombre()); fh4.createCell(1).setCellValue(tipo[i].getEPesado()); fh4.createCell(2).setCellValue("o"); } } //************************ejemplar***************************** Ejemplar[] ejemplar = (Ejemplar[])session.createCriteria(Ejemplar.class).list().toArray(new Ejemplar[0]); Row h5r0=hoja5.createRow(0); h5r0.createCell(0).setCellValue("id_parte"); h5r0.createCell(1).setCellValue("id_marca"); h5r0.createCell(2).setCellValue("tipo_nombre"); h5r0.createCell(3).setCellValue("modelo"); h5r0.createCell(4).setCellValue("id_catalogo"); h5r0.createCell(5).setCellValue("comentario"); h5r0.createCell(6).setCellValue("registro"); if(ejemplar.length>0) { for(int i=0; i<ejemplar.length; i++) { Row fh5 = hoja5.createRow(i+1); fh5.createCell(0).setCellValue(ejemplar[i].getIdParte()); if(ejemplar[i].getMarca()!=null) fh5.createCell(1).setCellValue(ejemplar[i].getMarca().getIdMarca()); else fh5.createCell(1).setCellValue(""); if(ejemplar[i].getTipo()!=null) fh5.createCell(2).setCellValue(ejemplar[i].getTipo().getTipoNombre()); else fh5.createCell(2).setCellValue(""); if(ejemplar[i].getModelo()!=null) fh5.createCell(3).setCellValue(ejemplar[i].getModelo()); else fh5.createCell(3).setCellValue(""); if(ejemplar[i].getCatalogo()!=null) fh5.createCell(4).setCellValue(ejemplar[i].getCatalogo()); else fh5.createCell(4).setCellValue(""); if(ejemplar[i].getComentario()!=null) fh5.createCell(5).setCellValue(ejemplar[i].getComentario()); else fh5.createCell(5).setCellValue(""); fh5.createCell(6).setCellValue("o"); } } //************************orden***************************** orden_act = (Orden)session.get(Orden.class, orden_act.getIdOrden()); Row h6r0=hoja6.createRow(0); h6r0.createCell(0).setCellValue("id_orden"); h6r0.createCell(1).setCellValue("aseguradora"); h6r0.createCell(2).setCellValue("poliza"); h6r0.createCell(3).setCellValue("siniestro"); h6r0.createCell(4).setCellValue("inciso"); h6r0.createCell(5).setCellValue("reporte"); h6r0.createCell(6).setCellValue("fecha"); h6r0.createCell(7).setCellValue("nombre"); h6r0.createCell(8).setCellValue("tipo_cliente"); h6r0.createCell(9).setCellValue("id_marca"); h6r0.createCell(10).setCellValue("tipo"); h6r0.createCell(11).setCellValue("anio"); h6r0.createCell(12).setCellValue("registro"); Row fh6 = hoja6.createRow(1); fh6.createCell(0).setCellValue(orden_act.getIdOrden()); fh6.createCell(1).setCellValue(orden_act.getCompania().getIdCompania()); if(orden_act.getPoliza()!=null) fh6.createCell(2).setCellValue(orden_act.getPoliza()); else fh6.createCell(2).setCellValue(""); if(orden_act.getSiniestro()!=null) fh6.createCell(3).setCellValue(orden_act.getSiniestro()); else fh6.createCell(3).setCellValue(""); if(orden_act.getInciso()!=null) fh6.createCell(4).setCellValue(orden_act.getInciso()); else fh6.createCell(4).setCellValue(""); if(orden_act.getNoReporte()!=null) fh6.createCell(5).setCellValue(orden_act.getNoReporte()); else fh6.createCell(5).setCellValue(""); fh6.createCell(6).setCellValue(orden_act.getFecha()); fh6.createCell(7).setCellValue(orden_act.getClientes().getNombre()); fh6.createCell(8).setCellValue(orden_act.getTipoCliente()); fh6.createCell(9).setCellValue(orden_act.getMarca().getIdMarca()); fh6.createCell(10).setCellValue(orden_act.getTipo().getTipoNombre()); fh6.createCell(11).setCellValue(orden_act.getModelo()); fh6.createCell(12).setCellValue("o"); Compania com=orden_act.getCompania(); Row h8r0=hoja8.createRow(0); h8r0.createCell(0).setCellValue("id_compania"); h8r0.createCell(1).setCellValue("nombre"); h8r0.createCell(2).setCellValue("importe_hota"); h8r0.createCell(3).setCellValue("importe_max"); h8r0.createCell(4).setCellValue("registro"); Row fh8 = hoja8.createRow(1); fh8.createCell(0).setCellValue(com.getIdCompania()); fh8.createCell(1).setCellValue(com.getNombre()); fh8.createCell(2).setCellValue(com.getImporteHora()); fh8.createCell(3).setCellValue(com.getImporteMax()); fh8.createCell(4).setCellValue("o"); //************************partida***************************** Partida[] cuentas = (Partida[])session.createCriteria(Partida.class).add(Restrictions.eq("ordenByIdOrden.idOrden", orden_act.getIdOrden())).addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]); Partida[] enlazadas = (Partida[])session.createCriteria(Partida.class).add(Restrictions.eq("ordenByEnlazada.idOrden", orden_act.getIdOrden())).addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]); Row h7r0=hoja7.createRow(0); h7r0.createCell(0).setCellValue("id_partida"); h7r0.createCell(1).setCellValue("id_evaluacion"); h7r0.createCell(2).setCellValue("sub_partida"); h7r0.createCell(3).setCellValue("esp_hoj"); h7r0.createCell(4).setCellValue("esp_mec"); h7r0.createCell(5).setCellValue("esp_sus"); h7r0.createCell(6).setCellValue("esp_ele"); h7r0.createCell(7).setCellValue("dm"); h7r0.createCell(8).setCellValue("cam"); h7r0.createCell(9).setCellValue("rep_min"); h7r0.createCell(10).setCellValue("rep_med"); h7r0.createCell(11).setCellValue("rep_max"); h7r0.createCell(12).setCellValue("pint"); h7r0.createCell(13).setCellValue("cant"); h7r0.createCell(14).setCellValue("med"); h7r0.createCell(15).setCellValue("id_catalogo"); h7r0.createCell(16).setCellValue("id_parte"); h7r0.createCell(17).setCellValue("incluida"); h7r0.createCell(18).setCellValue("ori"); h7r0.createCell(19).setCellValue("nal"); h7r0.createCell(20).setCellValue("desm"); h7r0.createCell(21).setCellValue("pd"); h7r0.createCell(22).setCellValue("tot"); h7r0.createCell(23).setCellValue("int_desm"); h7r0.createCell(24).setCellValue("int_camb"); h7r0.createCell(25).setCellValue("int_rep_min"); h7r0.createCell(26).setCellValue("int_rep_med"); h7r0.createCell(27).setCellValue("int_rep_max"); h7r0.createCell(28).setCellValue("int_pin_min"); h7r0.createCell(29).setCellValue("int_pin_med"); h7r0.createCell(30).setCellValue("int_pin_max"); h7r0.createCell(31).setCellValue("instruccion"); h7r0.createCell(32).setCellValue("tipo"); h7r0.createCell(33).setCellValue("enlazada"); h7r0.createCell(34).setCellValue("autorizado_valuacion"); h7r0.createCell(35).setCellValue("c_u"); h7r0.createCell(36).setCellValue("porcentaje"); h7r0.createCell(37).setCellValue("precio_cia"); h7r0.createCell(38).setCellValue("cant_aut"); h7r0.createCell(39).setCellValue("precio_aut"); h7r0.createCell(40).setCellValue("autorizado"); h7r0.createCell(41).setCellValue("horas"); h7r0.createCell(42).setCellValue("ref_coti"); h7r0.createCell(43).setCellValue("ref_com"); h7r0.createCell(44).setCellValue("so"); h7r0.createCell(45).setCellValue("pedido"); h7r0.createCell(46).setCellValue("entrega"); h7r0.createCell(47).setCellValue("id_orden"); h7r0.createCell(48).setCellValue("pcp"); h7r0.createCell(49).setCellValue("registro"); if(cuentas.length>0) { for(int i=0; i<cuentas.length; i++) { Row fh7 = hoja7.createRow(i+1); fh7.createCell(0).setCellValue(cuentas[i].getIdPartida()); fh7.createCell(1).setCellValue(cuentas[i].getIdEvaluacion()); fh7.createCell(2).setCellValue(cuentas[i].getSubPartida()); fh7.createCell(3).setCellValue(cuentas[i].isEspHoj()); fh7.createCell(4).setCellValue(cuentas[i].isEspMec()); fh7.createCell(5).setCellValue(cuentas[i].isEspSus()); fh7.createCell(6).setCellValue(cuentas[i].isEspEle()); fh7.createCell(7).setCellValue(cuentas[i].getDm()); fh7.createCell(8).setCellValue(cuentas[i].getCam()); fh7.createCell(9).setCellValue(cuentas[i].getRepMin()); fh7.createCell(10).setCellValue(cuentas[i].getRepMed()); fh7.createCell(11).setCellValue(cuentas[i].getRepMax()); fh7.createCell(12).setCellValue(cuentas[i].getPint()); fh7.createCell(13).setCellValue(cuentas[i].getCant()); fh7.createCell(14).setCellValue(cuentas[i].getMed()); fh7.createCell(15).setCellValue(cuentas[i].getCatalogo().getIdCatalogo()); if(cuentas[i].getEjemplar()!=null) fh7.createCell(16).setCellValue(cuentas[i].getEjemplar().getIdParte()); else fh7.createCell(16).setCellValue(""); fh7.createCell(17).setCellValue(cuentas[i].isIncluida()); fh7.createCell(18).setCellValue(cuentas[i].isOri()); fh7.createCell(19).setCellValue(cuentas[i].isNal()); fh7.createCell(20).setCellValue(cuentas[i].isDesm()); fh7.createCell(21).setCellValue(cuentas[i].isPd()); if(cuentas[i].getProveedor()!=null) fh7.createCell(22).setCellValue(cuentas[i].getProveedor().getIdProveedor()); else fh7.createCell(22).setCellValue(""); fh7.createCell(23).setCellValue(cuentas[i].getIntDesm()); fh7.createCell(24).setCellValue(cuentas[i].getIntCamb()); fh7.createCell(25).setCellValue(cuentas[i].getIntRepMin()); fh7.createCell(26).setCellValue(cuentas[i].getIntRepMed()); fh7.createCell(27).setCellValue(cuentas[i].getIntRepMax()); fh7.createCell(28).setCellValue(cuentas[i].getIntPinMin()); fh7.createCell(29).setCellValue(cuentas[i].getIntPinMed()); fh7.createCell(30).setCellValue(cuentas[i].getIntPinMax()); if(cuentas[i].getInstruccion()!=null) fh7.createCell(31).setCellValue(cuentas[i].getInstruccion()); else fh7.createCell(31).setCellValue(""); fh7.createCell(32).setCellValue(cuentas[i].getTipo()); if(cuentas[i].getOrdenByEnlazada()!=null) fh7.createCell(33).setCellValue(cuentas[i].getOrdenByEnlazada().getIdOrden()); else fh7.createCell(33).setCellValue(""); fh7.createCell(34).setCellValue(cuentas[i].isAutorizadoValuacion()); fh7.createCell(35).setCellValue(cuentas[i].getCU()); fh7.createCell(36).setCellValue(cuentas[i].getPorcentaje()); fh7.createCell(37).setCellValue(cuentas[i].getPrecioCiaSegurosCU()); fh7.createCell(38).setCellValue(cuentas[i].getCantidadAut()); fh7.createCell(39).setCellValue(cuentas[i].getPrecioAutCU()); fh7.createCell(40).setCellValue(cuentas[i].isAutorizado()); fh7.createCell(41).setCellValue(cuentas[i].getHoras()); fh7.createCell(42).setCellValue(cuentas[i].isRefCoti()); fh7.createCell(43).setCellValue(cuentas[i].isRefComp()); fh7.createCell(44).setCellValue(cuentas[i].isSo()); if(cuentas[i].getPedido()!=null) { fh7.createCell(45).setCellValue(cuentas[i].getPedido().getIdPedido()); if(cuentas[i].getPlazo()!=null) fh7.createCell(46).setCellValue(cuentas[i].getPlazo()); else fh7.createCell(46).setCellValue(""); } else { fh7.createCell(45).setCellValue(""); fh7.createCell(46).setCellValue(""); } fh7.createCell(47).setCellValue(cuentas[i].getOrdenByIdOrden().getIdOrden()); fh7.createCell(48).setCellValue(cuentas[i].getPcp()); fh7.createCell(49).setCellValue("o"); } } libro.write(archivo); Biff8EncryptionKey.setCurrentUserPassword(null); archivo.close(); JOptionPane.showMessageDialog(null, "Archivo guardado!"); /*} else { if(session.isOpen()) session.close(); JOptionPane.showMessageDialog(null, "La orden ya contiene partidas!"); }*/ } catch (Exception he) { he.printStackTrace(); session.getTransaction().rollback(); } if(session!=null) if(session.isOpen()) session.close(); } } } else JOptionPane.showMessageDialog(this, "Debes seleccionar una orden de taller primero"); }
From source file:view.ReviewInfoGUI.java
private void exportButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportButtonActionPerformed if (this.eventToReview != null) { try {//from w ww .j av a 2 s . c o m DefaultTableModel dtm = new DefaultTableModel(); Vector<String> cols = new Vector<String>(); dtm.addColumn("First"); dtm.addColumn("Last"); dtm.addColumn("Email"); dtm.addColumn("Attended"); Vector<String> dtmrow = null; dtmrow = new Vector<>(); dtmrow.add("First"); dtmrow.add("Last"); dtmrow.add("Email"); dtmrow.add("Attended (Yes or No)"); dtm.addRow(dtmrow); dtmrow = null; for (int i = 0; i < this.eventToReview.getAttendees().getRosterSet().size(); i++) { dtmrow = new Vector<>(); Member localM = this.eventToReview.getAttendees().getRosterSet().get(i); dtmrow.add(localM.getfName()); dtmrow.add(localM.getlName()); dtmrow.add(localM.getEmail()); dtmrow.add("Yes"); dtm.addRow(dtmrow); } for (int i = 0; i < this.eventToReview.getInvites().getRosterSet().size(); i++) { dtmrow = new Vector<>(); Member localM = this.eventToReview.getInvites().getRosterSet().get(i); dtmrow.add(localM.getfName()); dtmrow.add(localM.getlName()); dtmrow.add(localM.getEmail()); dtmrow.add("No"); dtm.addRow(dtmrow); } //////////////////////// Workbook wb = new HSSFWorkbook(); CreationHelper createhelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet("Attendence Data for " + this.eventToReview.getDescription()); Row row = null; Cell cell = null; for (int i = 0; i < dtm.getRowCount(); i++) { row = sheet.createRow(i); for (int j = 0; j < dtm.getColumnCount(); j++) { cell = row.createCell(j); cell.setCellValue((String) dtm.getValueAt(i, j)); } } try (FileOutputStream out = new FileOutputStream( ".\\" + this.eventToReview.getDescription().replaceAll(" ", "") + ".xls")) { wb.write(out); System.out.println("Here!"); } } catch (Exception e) { } } }
From source file:vista.ui.VistaGenerarEstadisticas.java
License:Open Source License
/** * Este mtodo sirve para crear una nueva hoja de Excel en el libro de * trabajo seleccionado, no es trabajo de este mtodo guardar los cambios en * el sistema de archivos, slo agrega la hoja de Excel al libro de trabajo * en memoria.// w w w . j av a 2 s. co m * * @param workbook el objeto Workbook al que se le adjuntar la nueva hoja * de Excel * @param nombre un String con el nombre que tendr la nueva hoja de Excel * @param datos un objeto TablaEstadisticas con los datos y los nombres de * columnas que sern agregados a la hoja */ private void crearHoja(Workbook workbook, String nombre, TablaEstadisticas datos) { //Crear la hoja CreationHelper createHelper = workbook.getCreationHelper(); Sheet nuevaHoja = workbook.createSheet(WorkbookUtil.createSafeSheetName(nombre)); //Escribir los nombres de las columnas en la hoja Row headers = nuevaHoja.createRow(0); for (int i = 0; i < datos.getColumnCount(); i++) { //Crear headers con estilo Cell cell = headers.createCell(i); CellStyle style = crearEstiloCelda(workbook, IndexedColors.BLACK, CellStyle.BORDER_THICK, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER); cell.setCellValue(createHelper.createRichTextString(datos.getColumnName(i))); cell.setCellStyle(style); //Autoajustar nuevaHoja.autoSizeColumn(i); } //Escribir los datos de la tabla en la hoja for (int i = 0; i < datos.getRowCount(); i++) { Row fila = nuevaHoja.createRow(i + 1); CellStyle style = crearEstiloCelda(workbook, IndexedColors.GREEN, CellStyle.BORDER_THIN, (short) -18, (short) -18); for (int j = 0; j < datos.getColumnCount(); j++) { Cell cell = fila.createCell(j); //Escribir de acuerdo al tipo de dato if (datos.getColumnClass(j).equals(String.class)) { cell.setCellValue(createHelper.createRichTextString(datos.getValueAt(i, j).toString())); } else if (datos.getColumnClass(j).equals(Integer.class)) { cell.setCellValue((int) datos.getValueAt(i, j)); } else if (datos.getColumnClass(j).equals(Double.class)) { cell.setCellValue((double) datos.getValueAt(i, j)); } else if (datos.getColumnClass(j).equals(Turno.class)) { cell.setCellValue(((Turno) datos.getValueAt(i, j)).toString()); } //Agregar el estilo cell.setCellStyle(style); } } }
From source file:workbench.db.exporter.ExcelDataFormat.java
License:Apache License
protected void setupWithWorkbook(Workbook wb) { CreationHelper helper = wb.getCreationHelper(); DataFormat dataFormat = helper.createDataFormat(); setUpHeader(wb);//w w w . j av a2 s. c o m setUpText(wb); setUpDate(wb, dataFormat); setUpDecimal(wb, dataFormat); setUpInteger(wb, dataFormat); setUpTs(wb, dataFormat); setUpMultiline(wb); }
From source file:wuliu.test.POITest2.java
License:Open Source License
public String export(String folderPath, List<WuliuMergedOrderModel> mergedOrders) throws EncryptedDocumentException, InvalidFormatException, IOException { File folder = createFolder(folderPath); List<List<WuliuMergedOrderModel>> mergedOrderLists = split(mergedOrders); if (CollectionUtils.isEmpty(mergedOrderLists)) { return null; }// ww w. j a v a2 s.co m for (List<WuliuMergedOrderModel> item : mergedOrderLists) { InputStream inp = new FileInputStream( "/Users/admin/Workspace/workspace/wuliu/code/src/test/resources/template.xlsx"); Workbook wb = WorkbookFactory.create(inp); FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); Sheet sheet = wb.getSheetAt(0); fillSheet(sheet, item); evaluate(sheet, evaluator); File file = new File(folder, getName(item)); try { FileOutputStream outputStream = new FileOutputStream(file); wb.write(outputStream); outputStream.flush(); outputStream.close(); wb.close(); System.out.println("success"); } catch (Exception e) { System.out.println("It cause Error on WRITTING excel workbook: "); e.printStackTrace(); } } return folder.getAbsolutePath(); }
From source file:xqt.adapters.csv.MSExcelDataAdapterHelper.java
@Override public LinkedHashMap<String, FieldInfo> getContinerSchema(SingleContainer container, Object... params) { if (isHeaderExternal(container)) { return super.getContinerSchema(container, params); } else {//from ww w. j a v a 2s . c o m try { LinkedHashMap<String, FieldInfo> headers = new LinkedHashMap<>(); String baseContainerPath = String.valueOf(params[0]); //String columnDelimiter = String.valueOf(params[1]); String typeDelimiter = String.valueOf(params[2]); String unitDelimiter = String.valueOf(params[3]); String fileName = getCompleteSourceName(container, baseContainerPath); HeaderBuilder hb = new HeaderBuilder(); //XSSFWorkbook workbook2 = new XSSFWorkbook(fileName); InputStream inp = new FileInputStream(fileName); Workbook workbook = WorkbookFactory.create(inp); Sheet sheet = null; String sheetName = container.getContainerName(); if (sheetName != null && !sheetName.isEmpty()) { sheet = workbook.getSheet(sheetName); } if (sheet == null) { // sheetName is not valid or is an index sheet = workbook.getSheetAt(container.getContainerIndex()); } FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); if (sheet.rowIterator().hasNext()) { Row row = sheet.getRow(0); String[] cellvalues = RowBuilder.createRowArray(row, evaluator); int indexCount = 0; for (String cell : cellvalues) { if (cell != null && !cell.isEmpty()) { FieldInfo field = hb.convert(cell, typeDelimiter, unitDelimiter); field.index = indexCount; if (field.name != null && !field.name.isEmpty() && !headers.containsKey(field.name)) { headers.put(field.name, field); indexCount++; } } } } for (FieldInfo field : headers.values()) { field.conceptualDataType = getConceptualType(field.internalDataType); } return headers; } catch (IOException | InvalidFormatException ex) { LoggerHelper.logError( MessageFormat.format("Schema generation error for adapter: \'CSV\'. {0}", ex.getMessage())); return new LinkedHashMap<>(); } } }
From source file:y.graphs.XLSHelper.java
License:Open Source License
public static boolean saveElfData(String filename, ElfDb db, double sensibilita, boolean save_grafico) { final DateTime[] times = db.getPeriods(); final ElfValue[][] dayvalues = db.getSampledData(); final int[] mediane = db.getOpValues(); final int[] maxs = db.getOpMaxDay(); final int[] counts = db.getOpValueCount(); final int maxi = db.getMaxidx(); Workbook wb = null; try {/*from ww w . j ava2 s.c o m*/ if (Utils.abortOnExistingAndDontOverwrite(filename)) return false; wb = new XSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet(Config.getResource("TitleStats")); int rown = 0; Row row = sheet.createRow(rown++); Cell cell = row.createCell(0); cell.setCellValue(Config.getResource("TitleDate")); cell = row.createCell(1); cell.setCellValue(Config.getResource("TitleMediana")); cell = row.createCell(2); cell.setCellValue(Config.getResource("TitleMaxM")); cell = row.createCell(3); cell.setCellValue(Config.getResource("TitleNumberOfData")); CellStyle dateStyle1 = wb.createCellStyle(); dateStyle1.setDataFormat(createHelper.createDataFormat().getFormat("d/m/yy")); CellStyle doubleFormat1 = wb.createCellStyle(); DataFormat format1 = wb.createDataFormat(); doubleFormat1.setDataFormat(format1.getFormat("0.00")); for (int i = 0; i < mediane.length; i++) { row = sheet.createRow(rown++); cell = row.createCell(0); cell.setCellStyle(dateStyle1); cell.setCellValue(Utils.toDateString(dayvalues[i][0].getTime())); cell = row.createCell(1); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(mediane[i])); cell = row.createCell(2); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(maxs[i])); cell = row.createCell(3); cell.setCellValue(counts[i]); } // line with DataFunction max row = sheet.createRow(rown++); row = sheet.createRow(rown++); cell = row.createCell(0); cell.setCellValue(Config.getResource("MsgMax") + "(" + db.getOperationPerformed().getName() + ") - " + Utils.toDateString(times[maxi])); cell = row.createCell(1); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(mediane[maxi])); cell = row.createCell(2); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(maxs[maxi])); cell = row.createCell(3); cell.setCellValue(counts[maxi]); // line with max final ElfValue maxvalue = db.getSelectedElfValue(new Comparator<ElfValue>() { @Override public int compare(ElfValue o1, ElfValue o2) { return o1.getValue() - o2.getValue(); } }); row = sheet.createRow(rown++); cell = row.createCell(0); cell.setCellValue(Config.getResource("MsgMax") + "(" + Utils.toDateString(maxvalue.getTime()) + ")"); cell = row.createCell(1); cell.setCellStyle(doubleFormat1); cell.setCellValue(MeasurementValue.valueIntToDouble(maxvalue.getValue())); cell = row.createCell(2); cell.setCellStyle(doubleFormat1); cell.setCellValue(MeasurementValue.valueIntToDouble(maxvalue.getMax())); cell = row.createCell(3); cell.setCellValue(counts[maxi]); // sheet containing all raw data Sheet sheetdata = wb.createSheet(Config.getResource("TitleSheetDatas")); CellStyle dateTimeStyle2 = wb.createCellStyle(); dateTimeStyle2.setDataFormat(createHelper.createDataFormat().getFormat("m/d/yy h:mm")); CellStyle doubleFormat2 = wb.createCellStyle(); DataFormat format2 = wb.createDataFormat(); doubleFormat2.setDataFormat(format2.getFormat("0.00")); rown = 0; row = sheetdata.createRow(rown++); cell = row.createCell(0); cell.setCellValue(Config.getResource("TitleDate")); cell = row.createCell(1); cell.setCellValue(Config.getResource("TitleValue")); cell = row.createCell(2); cell.setCellValue(Config.getResource("TitlePeak")); cell = row.createCell(3); cell.setCellValue(Config.getResource("TitleMediana")); cell = row.createCell(4); cell.setCellValue(Config.getResource("TitleDayMax")); cell = row.createCell(5); cell.setCellValue(Config.getResource("TitleMedianaMax")); cell = row.createCell(6); cell.setCellValue(Config.getResource("TitleSens")); cell = row.createCell(7); cell.setCellValue(Config.getResource("TitleQualityTarget")); cell = row.createCell(8); cell.setCellValue(Config.getResource("TitleAttentionValue")); for (int i = 0; i < dayvalues.length; i++) { final ElfValue[] day = dayvalues[i]; for (int k = 0; k < day.length; k++) { final ElfValue value = day[k]; final DateTime time = value.getTime(); row = sheetdata.createRow(rown++); cell = row.createCell(0); cell.setCellStyle(dateTimeStyle2); cell.setCellValue(Utils.toDateString(time)); cell = row.createCell(1); cell.setCellStyle(doubleFormat2); if (value.isValid()) cell.setCellValue(ElfValue.valueIntToDouble(value.getValue())); else cell.setCellValue(""); cell = row.createCell(2); cell.setCellStyle(doubleFormat2); if (value.isValid()) cell.setCellValue(ElfValue.valueIntToDouble(value.getMax())); else cell.setCellValue(""); cell = row.createCell(3); cell.setCellStyle(doubleFormat2); cell.setCellValue(ElfValue.valueIntToDouble(mediane[i])); cell = row.createCell(4); cell.setCellStyle(doubleFormat2); cell.setCellValue(ElfValue.valueIntToDouble(maxs[i])); cell = row.createCell(5); cell.setCellStyle(doubleFormat2); cell.setCellValue(ElfValue.valueIntToDouble(mediane[maxi])); cell = row.createCell(6); cell.setCellStyle(doubleFormat2); cell.setCellValue(sensibilita); cell = row.createCell(7); cell.setCellStyle(doubleFormat2); cell.setCellValue(3); cell = row.createCell(8); cell.setCellStyle(doubleFormat2); cell.setCellValue(10); } } if (save_grafico) { final int maxline = rown - 1; sheet = wb.createSheet(Config.getResource("TitleChart")); Drawing drawing = sheet.createDrawingPatriarch(); ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 18, 25); Chart chart = drawing.createChart(anchor); ChartLegend legend = chart.getOrCreateLegend(); legend.setPosition(LegendPosition.TOP_RIGHT); ScatterChartData data = chart.getChartDataFactory().createScatterChartData(); // LineChartData data = chart.getChartDataFactory().createLineChartData(); ValueAxis bottomAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.BOTTOM); ValueAxis leftAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.LEFT); leftAxis.setMinimum(0.0); leftAxis.setMaximum(10.0); leftAxis.setCrosses(AxisCrosses.AUTO_ZERO); ChartDataSource<String> xs = DataSources.fromStringCellRange(sheetdata, new CellRangeAddress(1, maxline, 0, 0)); ChartDataSource<Number> ys_val = DataSources.fromNumericCellRange(sheetdata, new CellRangeAddress(1, maxline, 1, 1)); ChartDataSource<Number> ys_sens = DataSources.fromNumericCellRange(sheetdata, new CellRangeAddress(1, maxline, 6, 6)); ChartDataSource<Number> ys_qual = DataSources.fromNumericCellRange(sheetdata, new CellRangeAddress(1, maxline, 7, 7)); ChartDataSource<Number> ys_att = DataSources.fromNumericCellRange(sheetdata, new CellRangeAddress(1, maxline, 8, 8)); ScatterChartSeries data_val = data.addSerie(xs, ys_val); data_val.setTitle(Config.getResource("TitleMeasuredValues")); ScatterChartSeries data_sens = data.addSerie(xs, ys_sens); data_sens.setTitle(Config.getResource("TitleInstrumentSens")); ScatterChartSeries data_qual = data.addSerie(xs, ys_qual); data_qual.setTitle(Config.getResource("TitleQualityTarget")); ScatterChartSeries data_att = data.addSerie(xs, ys_att); data_att.setTitle(Config.getResource("TitleAttentionValue")); chart.plot(data, bottomAxis, leftAxis); } FileOutputStream fileOut = new FileOutputStream(filename); wb.write(fileOut); fileOut.close(); return true; } catch (Exception e) { Utils.MessageBox(Config.getResource("MsgErrorXlsx") + "\n" + e.toString(), Config.getResource("TitleError")); return false; } finally { if (wb != null) try { wb.close(); } catch (IOException e) { } } }
From source file:y.graphs.XLSHelper.java
License:Open Source License
public static void saveCorrelationsCurrents(String filename, CurrentElfDb db, final double imax, final double ui, final double ub) throws IOException { if (Utils.abortOnExistingAndDontOverwrite(filename)) return;//from w w w .j a va2 s. c om Workbook wb = new XSSFWorkbook(); final String nDati = Config.getResource("TitleSheetDatas"); final String nDelta = Config.getResource("TitleSheetDelta"); final String nCalcs = Config.getResource("TitleSheetCalcs"); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet(nDati); CellStyle dateStyle1 = wb.createCellStyle(); dateStyle1.setDataFormat(createHelper.createDataFormat().getFormat("d/m/yy")); CellStyle timeStyle1 = wb.createCellStyle(); timeStyle1.setDataFormat(createHelper.createDataFormat().getFormat("HH:mm")); CellStyle doubleFormat1 = wb.createCellStyle(); DataFormat format1 = wb.createDataFormat(); doubleFormat1.setDataFormat(format1.getFormat("0.00")); CellStyle percFormat1 = wb.createCellStyle(); percFormat1.setDataFormat(format1.getFormat("0.00%")); int rown = 0; Row row = sheet.createRow(rown++); final String[] CorrentiColonne = Config.getInstance().getXLSColumnNames(); for (int i = 0; i < CorrentiColonne.length; i++) { Cell cell = row.createCell(i); cell.setCellValue(CorrentiColonne[i]); } final List<ElfValue> elfs = db.getElfDb(); final List<CurrentValue> currs = db.getCurrentDb(); for (int i = 0, maxi = Math.max(elfs.size(), currs.size()); i < maxi; i++) { final ElfValue e = i <= elfs.size() ? elfs.get(i) : null; final CurrentValue c = i <= currs.size() ? currs.get(i) : null; row = sheet.createRow(rown++); int columnnn = 0; if (c == null) { Cell cell = row.createCell(columnnn++); cell.setCellValue(""); cell = row.createCell(columnnn++); cell.setCellValue(""); cell = row.createCell(columnnn++); cell.setCellValue(""); } else { Cell cell = row.createCell(columnnn++); cell.setCellValue(Utils.toDateString(c.getTime())); // data corrente cell.setCellStyle(dateStyle1); cell = row.createCell(columnnn++); cell.setCellStyle(timeStyle1); cell.setCellValue(Utils.toTimeString(c.getTime())); // ora corrente cell = row.createCell(columnnn++); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(c.getValue())); } if (e == null) { Cell cell = row.createCell(columnnn++); cell.setCellValue(""); cell = row.createCell(columnnn++); cell.setCellValue(""); cell = row.createCell(columnnn++); cell.setCellValue(""); } else { Cell cell = row.createCell(columnnn++); cell.setCellStyle(dateStyle1); cell.setCellValue(Utils.toDateString(e.getTime())); // data corrente cell = row.createCell(columnnn++); cell.setCellStyle(timeStyle1); cell.setCellValue(Utils.toTimeString(e.getTime())); // ora corrente cell = row.createCell(columnnn++); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(e.getValue())); // ora corrente } } final int total_rown = rown; // intermedi { sheet = wb.createSheet(nDelta); rown = 0; int columnnn; columnnn = 0; row = sheet.createRow(rown++); Cell cell = row.createCell(columnnn++); cell.setCellValue("dI"); cell = row.createCell(columnnn++); cell.setCellValue("dB"); cell = row.createCell(columnnn++); cell.setCellValue("dIdB"); cell = row.createCell(columnnn++); cell.setCellValue("dI^2"); cell = row.createCell(columnnn++); cell.setCellValue("dB^2"); cell = row.createCell(columnnn++); cell.setCellValue("Ri = Bi/Ii"); cell = row.createCell(columnnn++); cell.setCellValue("Ri^2"); for (int i = 2; i <= total_rown; i++) { columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellFormula(nDati + "!C" + i + "-" + nCalcs + "!$B$2"); cell = row.createCell(columnnn++); cell.setCellFormula(nDati + "!F" + i + "-" + nCalcs + "!$B$3"); cell = row.createCell(columnnn++); cell.setCellFormula("A" + i + "*B" + i); cell = row.createCell(columnnn++); cell.setCellFormula("A" + i + "*A" + i); cell = row.createCell(columnnn++); cell.setCellFormula("B" + i + "*B" + i); cell = row.createCell(columnnn++); cell.setCellFormula(nDati + "!F" + i + "/" + nDati + "!C" + i); cell = row.createCell(columnnn++); cell.setCellFormula("F" + i + "*F" + i); } } // correlazioni e calcoli finali { sheet = wb.createSheet(nCalcs); rown = 0; int columnnn; columnnn = 0; row = sheet.createRow(rown++); Cell cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleNumberOfData")); cell = row.createCell(columnnn++); cell.setCellFormula("COUNT(" + nDati + "!C:C)"); // B1 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleCurAvg")); cell = row.createCell(columnnn++); cell.setCellFormula("AVERAGE(" + nDati + "!C:C)"); // B2 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleFieldAvg")); cell = row.createCell(columnnn++); cell.setCellFormula("AVERAGE(" + nDati + "!F:F)"); // B3 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleRm")); cell = row.createCell(columnnn++); cell.setCellFormula("AVERAGE(" + nDelta + "!F:F)"); // B4 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleImax")); cell = row.createCell(columnnn++); cell.setCellStyle(doubleFormat1); cell.setCellValue(imax); // B5 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleUI")); cell = row.createCell(columnnn++); cell.setCellStyle(percFormat1); cell.setCellValue(ui); // B6 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleUB")); cell = row.createCell(columnnn++); cell.setCellStyle(percFormat1); cell.setCellValue(ub); // B7 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleURm")); cell = row.createCell(columnnn++); cell.setCellStyle(percFormat1); cell.setCellFormula("$B$6*$B$6+$B$7*$B$7-$B$6*$B$7*$B$9"); // B8 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleCorrelation")); cell = row.createCell(columnnn++); cell.setCellFormula("SUM(" + nDelta + "!C:C)/SQRT(SUM(" + nDelta + "!D:D)*SUM(" + nDelta + "!E:E))"); // B9 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleBmax")); cell = row.createCell(columnnn++); cell.setCellFormula("$B$4*$B$5"); // B10 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleEperc")); cell = row.createCell(columnnn++); cell.setCellFormula("$B$8*SUM(delta!G:G)/$B$1/$B$1"); // B11 = u(Rm)^2 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleUBmax")); cell = row.createCell(columnnn++); cell.setCellFormula("$B$5 * SQRT($B$11 + $B$4*$B$4*$B$6*$B$6)"); // B12 columnnn = 0; row = sheet.createRow(rown++); cell = row.createCell(columnnn++); cell.setCellValue(Config.getResource("TitleEBmax")); cell = row.createCell(columnnn++); cell.setCellStyle(percFormat1); cell.setCellFormula("2*$B$12/$B$10"); // B13 } FileOutputStream fileOut = new FileOutputStream(filename); wb.write(fileOut); wb.close(); fileOut.close(); }
From source file:y.graphs.XLSHelper.java
License:Open Source License
public static boolean saveCurrentsData(String filename, CurrentDb db, boolean save_grafico) { final DateTime[] times = db.getPeriods(); final CurrentValue[][] dayvalues = db.getSampledData(); final int[] mediane = db.getOpValues(); final int[] maxs = db.getOpMaxDay(); final int[] counts = db.getOpValueCount(); final int maxi = db.getMaxidx(); Workbook wb = null; try {/*ww w . j a v a 2 s . co m*/ if (Utils.abortOnExistingAndDontOverwrite(filename)) return false; wb = new XSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet(Config.getResource("TitleStats")); int rown = 0; Row row = sheet.createRow(rown++); Cell cell = row.createCell(0); cell.setCellValue(Config.getResource("TitleDate")); cell = row.createCell(1); cell.setCellValue(Config.getResource("TitleMediana")); cell = row.createCell(2); cell.setCellValue(Config.getResource("TitleMaxM")); cell = row.createCell(3); cell.setCellValue(Config.getResource("TitleNumberOfData")); CellStyle dateStyle1 = wb.createCellStyle(); dateStyle1.setDataFormat(createHelper.createDataFormat().getFormat("d/m/yy")); CellStyle doubleFormat1 = wb.createCellStyle(); DataFormat format1 = wb.createDataFormat(); doubleFormat1.setDataFormat(format1.getFormat("0.00")); for (int i = 0; i < mediane.length; i++) { row = sheet.createRow(rown++); cell = row.createCell(0); cell.setCellStyle(dateStyle1); cell.setCellValue(Utils.toDateString(dayvalues[i][0].getTime())); cell = row.createCell(1); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(mediane[i])); cell = row.createCell(2); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(maxs[i])); cell = row.createCell(3); cell.setCellValue(counts[i]); } // line with DataFunction max row = sheet.createRow(rown++); row = sheet.createRow(rown++); cell = row.createCell(0); cell.setCellValue(Config.getResource("MsgMax") + "(" + db.getOperationPerformed().getName() + ") - " + Utils.toDateString(times[maxi])); cell = row.createCell(1); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(mediane[maxi])); cell = row.createCell(2); cell.setCellStyle(doubleFormat1); cell.setCellValue(ElfValue.valueIntToDouble(maxs[maxi])); cell = row.createCell(3); cell.setCellValue(counts[maxi]); // line with max final CurrentValue maxvalue = db.getSelectedCurrentValue(new Comparator<CurrentValue>() { @Override public int compare(CurrentValue o1, CurrentValue o2) { return o1.getValue() - o2.getValue(); } }); row = sheet.createRow(rown++); cell = row.createCell(0); cell.setCellValue(Config.getResource("MsgMax") + "(" + Utils.toDateString(maxvalue.getTime()) + ")"); cell = row.createCell(1); cell.setCellStyle(doubleFormat1); cell.setCellValue(MeasurementValue.valueIntToDouble(maxvalue.getValue())); cell = row.createCell(2); cell.setCellStyle(doubleFormat1); cell.setCellValue(""); cell = row.createCell(3); cell.setCellValue(counts[maxi]); // sheet containing all raw data Sheet sheetdata = wb.createSheet(Config.getResource("TitleSheetDatas")); CellStyle dateTimeStyle2 = wb.createCellStyle(); dateTimeStyle2.setDataFormat(createHelper.createDataFormat().getFormat("m/d/yy h:mm")); CellStyle doubleFormat2 = wb.createCellStyle(); DataFormat format2 = wb.createDataFormat(); doubleFormat2.setDataFormat(format2.getFormat("0.00")); rown = 0; row = sheetdata.createRow(rown++); cell = row.createCell(0); cell.setCellValue(Config.getResource("TitleDate")); cell = row.createCell(1); cell.setCellValue(Config.getResource("TitleValue")); cell = row.createCell(2); cell.setCellValue(Config.getResource("TitlePeak")); cell = row.createCell(3); cell.setCellValue(Config.getResource("TitleMediana")); cell = row.createCell(4); cell.setCellValue(Config.getResource("TitleDayMax")); cell = row.createCell(5); cell.setCellValue(Config.getResource("TitleMedianaMax")); for (int i = 0; i < dayvalues.length; i++) { final CurrentValue[] day = dayvalues[i]; for (int k = 0; k < day.length; k++) { final CurrentValue value = day[k]; final DateTime time = value.getTime(); row = sheetdata.createRow(rown++); cell = row.createCell(0); cell.setCellStyle(dateTimeStyle2); cell.setCellValue(Utils.toDateString(time)); cell = row.createCell(1); cell.setCellStyle(doubleFormat2); cell.setCellValue(ElfValue.valueIntToDouble(value.getValue())); cell = row.createCell(2); // cell.setCellStyle(doubleFormat2); cell.setCellValue(""); cell = row.createCell(3); cell.setCellStyle(doubleFormat2); cell.setCellValue(ElfValue.valueIntToDouble(mediane[i])); cell = row.createCell(4); cell.setCellStyle(doubleFormat2); cell.setCellValue(ElfValue.valueIntToDouble(maxs[i])); cell = row.createCell(5); cell.setCellStyle(doubleFormat2); cell.setCellValue(ElfValue.valueIntToDouble(mediane[maxi])); } } if (save_grafico) { final int maxline = rown - 1; sheet = wb.createSheet(Config.getResource("TitleChart")); Drawing drawing = sheet.createDrawingPatriarch(); ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 18, 25); Chart chart = drawing.createChart(anchor); ChartLegend legend = chart.getOrCreateLegend(); legend.setPosition(LegendPosition.TOP_RIGHT); ScatterChartData data = chart.getChartDataFactory().createScatterChartData(); // LineChartData data = chart.getChartDataFactory().createLineChartData(); ValueAxis bottomAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.BOTTOM); ValueAxis leftAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.LEFT); leftAxis.setMinimum(0.0); leftAxis.setMaximum(10.0); leftAxis.setCrosses(AxisCrosses.AUTO_ZERO); ChartDataSource<String> xs = DataSources.fromStringCellRange(sheetdata, new CellRangeAddress(1, maxline, 0, 0)); ChartDataSource<Number> ys_val = DataSources.fromNumericCellRange(sheetdata, new CellRangeAddress(1, maxline, 1, 1)); ChartDataSource<Number> ys_sens = DataSources.fromNumericCellRange(sheetdata, new CellRangeAddress(1, maxline, 6, 6)); ScatterChartSeries data_val = data.addSerie(xs, ys_val); data_val.setTitle(Config.getResource("TitleMeasuredValues")); ScatterChartSeries data_sens = data.addSerie(xs, ys_sens); data_sens.setTitle(Config.getResource("TitleInstrumentSens")); chart.plot(data, bottomAxis, leftAxis); } FileOutputStream fileOut = new FileOutputStream(filename); wb.write(fileOut); fileOut.close(); return true; } catch (Exception e) { Utils.MessageBox(Config.getResource("MsgErrorXlsx") + "\n" + e.toString(), Config.getResource("TitleError")); return false; } finally { if (wb != null) try { wb.close(); } catch (IOException e) { } } }