Java tutorial
package VentanaJava; import java.awt.Desktop; import java.io.File; import java.io.FileOutputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author Acer */ public class ConsultarIngresoCortoExportar extends javax.swing.JFrame { String fechaSeleccionada; /** * Creates new form ConsultarIngresoCortoExportar */ public ConsultarIngresoCortoExportar(String fecha) { fechaSeleccionada = fecha; initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); ExportarPlan = new javax.swing.JButton(); Salir = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); TablaPlanesIngresoCortoPlazo = new javax.swing.JTable(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setFont(new java.awt.Font("Cambria", 0, 22)); // NOI18N jLabel1.setText("Planificacin de Ingreso a Corto Plazo"); ExportarPlan.setFont(new java.awt.Font("Calibri Light", 0, 22)); // NOI18N ExportarPlan.setText("Exportar Plan"); ExportarPlan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ExportarPlanActionPerformed(evt); } }); Salir.setFont(new java.awt.Font("Calibri Light", 0, 22)); // NOI18N Salir.setText("Salir"); Salir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { SalirActionPerformed(evt); } }); TablaPlanesIngresoCortoPlazo.setFont(new java.awt.Font("Calibri Light", 0, 18)); // NOI18N TablaPlanesIngresoCortoPlazo.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { }, new String[] { "Granja", "Galera", "Fecha de Ingreso", "Cantidad a Ingresar" }) { Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.Object.class, java.lang.Float.class }; public Class getColumnClass(int columnIndex) { return types[columnIndex]; } }); TablaPlanesIngresoCortoPlazo.addAncestorListener(new javax.swing.event.AncestorListener() { public void ancestorMoved(javax.swing.event.AncestorEvent evt) { } public void ancestorAdded(javax.swing.event.AncestorEvent evt) { TablaPlanesIngresoCortoPlazoAncestorAdded(evt); } public void ancestorRemoved(javax.swing.event.AncestorEvent evt) { } }); jScrollPane1.setViewportView(TablaPlanesIngresoCortoPlazo); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGap(55, 55, 55).addComponent(ExportarPlan) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(Salir).addGap(68, 68, 68)) .addGroup(layout.createSequentialGroup().addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 553, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(20, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel1).addGap(111, 111, 111))); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 240, Short.MAX_VALUE) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(ExportarPlan).addComponent(Salir)) .addGap(23, 23, 23))); pack(); }// </editor-fold>//GEN-END:initComponents private void SalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SalirActionPerformed this.dispose(); }//GEN-LAST:event_SalirActionPerformed private void TablaPlanesIngresoCortoPlazoAncestorAdded(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_TablaPlanesIngresoCortoPlazoAncestorAdded DefaultTableModel model = (DefaultTableModel) TablaPlanesIngresoCortoPlazo.getModel(); String driver = "com.mysql.jdbc.Driver"; String connection = "jdbc:mysql://localhost:3306/Cargill"; String user = "root"; String password = "admi"; try { Class.forName(driver); Connection con = DriverManager.getConnection(connection, user, password); if (!con.isClosed()) { PreparedStatement planes = con.prepareStatement( "SELECT Date_format(`ingreso corto plazo`.`Fecha de Ingreso`,'%d/%m/%Y'), `ingreso corto plazo`.`Cantidad a ingresar`, `galera`.`Nombre Granja`, `galera`.`Numero de Galera` FROM `cargill`.`ingreso corto plazo` inner join `cargill`.`galera` on `ingreso corto plazo`.`Galera_idGalera`= `galera`.`idGalera` where `ingreso corto plazo`.`Fecha de Ingreso` = ?"); planes.setString(1, fechaSeleccionada); ResultSet planesconsultados = planes.executeQuery(); while (planesconsultados.next()) { model.addRow(new Object[] { planesconsultados.getString("Nombre Granja"), Integer.parseInt(planesconsultados.getString("Numero de Galera")), planesconsultados .getString("Date_format(`ingreso corto plazo`.`Fecha de ingreso`,'%d/%m/%Y')"), Integer.parseInt(planesconsultados.getString("Cantidad a ingresar")) }); } planesconsultados.close(); planes.close(); con.close(); } } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_TablaPlanesIngresoCortoPlazoAncestorAdded private void ExportarPlanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ExportarPlanActionPerformed DefaultTableModel model = (DefaultTableModel) TablaPlanesIngresoCortoPlazo.getModel(); int filas = TablaPlanesIngresoCortoPlazo.getRowCount(); JFileChooser GuardarArchivo = new JFileChooser(); int opcion = GuardarArchivo.showSaveDialog(this); if (opcion == JFileChooser.APPROVE_OPTION) { String direccion = GuardarArchivo.getSelectedFile().toString(); XSSFWorkbook libro = new XSSFWorkbook(); XSSFSheet hoja = libro.createSheet(); XSSFRow fila = hoja.createRow(0); fila.createCell(0).setCellValue("Granja"); fila.createCell(1).setCellValue("Galera"); fila.createCell(2).setCellValue("Fecha de Ingreso"); fila.createCell(3).setCellValue("Cantidad a Ingresar"); XSSFRow hileras; for (int i = 0; i < filas; i++) { hileras = hoja.createRow((i + 1)); for (int e = 0; e < 4; e++) { hileras.createCell(e).setCellValue(model.getValueAt(i, e).toString()); } } try { libro.write(new FileOutputStream(new File(direccion + ".xlsx"))); Desktop.getDesktop().open(new File(direccion + ".xlsx")); this.dispose(); } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } }//GEN-LAST:event_ExportarPlanActionPerformed /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(ConsultarIngresoCortoExportar.class.getName()) .log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(ConsultarIngresoCortoExportar.class.getName()) .log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(ConsultarIngresoCortoExportar.class.getName()) .log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(ConsultarIngresoCortoExportar.class.getName()) .log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { String a = ""; new ConsultarIngresoCortoExportar(a).setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton ExportarPlan; private javax.swing.JButton Salir; private javax.swing.JTable TablaPlanesIngresoCortoPlazo; private javax.swing.JLabel jLabel1; private javax.swing.JScrollPane jScrollPane1; // End of variables declaration//GEN-END:variables }