Está en la página 1de 13

GENERADOR DE ARCHIVOS EXCEL – LENGUAJE JAVA

OBJETIVO:
El objetivo de esta aplicación es generar un archivo Excel a partir de la interfaz de
escritorio. Se realizará con el lenguaje de programación Java en IDE NetBeans,
empleando la librería poi-3.12.jar para la creación, importación y exportación del archivo
Excel.
1. Agregamos la librería poi-3.12.jar, para poder exportar formatos Excel.

2. Crearemos cuatro paquetes: controlador, Modelo, Vista, gestionexcel.


2.1. Paquete controlador, se creará la clase ControladorExcel, o el nombre que usted
prefiera.

2.1.1. Implementamos este código en la clase ControladorExcel, para hacer que los
archivos Excel sean compatibles y puedan ser importados, modificados y
exportados.

1. paquete Controlador ;
2.
3. import java.awt.event.ActionEvent ;
4. import java.awt.event.ActionListener ;
5. import java.io. * ;
6. importar Vista.VistaExcel ;
7. importar Modelo.ModeloExcel ;
8. import javax.swing. * ;
9. import javax.swing.filechooser.FileNameExtensionFilter ;
10.
11. ControladorExcel de clase pública implementa ActionListener {
12. ModeloExcel modeloE = new ModeloExcel ( ) ;
13. VistaExcel vistaE = nueva VistaExcel ( ) ;
14. JFileChooser selecArchivo = new JFileChooser ( ) ;
15. Archivo archivo ;
16. int contAccion = 0 ;
17.
18. ControladorExcel público ( VistaExcel vistaE, ModeloExcel modeloE ) {
19. esta . vistaE = vistaE ;
20. esta . modeloE = modeloE ;
21. esta . vistaE . btnImportar . addActionListener ( esto ) ;
22. esta . vistaE . btnExportar . addActionListener ( esto ) ;
23. }
24.
25. público vacío AgregarFiltro ( ) {
26. selecArchivo. setFileFilter ( nuevo FileNameExtensionFilter ( "Excel (*
.xls)" , "xls" ) ) ;
27. selecArchivo. setFileFilter ( nuevo FileNameExtensionFilter ( "Excel (*
.xlsx)" , "xlsx" ) ) ;
28. }
29.
30. @Anular
31. public void actionPerformed ( ActionEvent e ) {
32. contAccion ++;
33. if ( contAccion == 1 ) AgregarFiltro ( ) ;
34.
35. if ( e. getSource ( ) == vistaE. btnImportar ) {
36. if ( selecArchivo. showDialog ( null , "Seleccionar
archivo" ) == JFileChooser . APPROVE_OPTION ) {
37. archivo = selecArchivo. getSelectedFile ( ) ;
38. if ( archivo. getName ( ) . endsWith ( "xls" ) || archivo. getName ( ) . end
sWith ( "xlsx" ) ) {
39. JOptionPane . showMessageDialog ( nulo ,
40. modeloE. Importar ( archivo, vistaE. JtDatos ) + " \
n Formato". + archivo. getName ( ) . subcadena ( archivo. getName ( ) . lastIndexOf ( "." )
+ 1 ) ,
41. "EXCEL IMPORTAR" , JOptionPane . MENSAJE DE INFORMACIÓN ) ;
42. } más {
43. JOptionPane . showMessageDialog ( nulo , "Elija un formato valido" ) ;
44. }
45. }
46. }
47.
48. if ( e. getSource ( ) == vistaE. btnExportar ) {
49. if ( selecArchivo. showDialog ( null , "Exportar" ) == JFileChooser . APPROVE_OP
TION ) {
50. archivo = selecArchivo. getSelectedFile ( ) ;
51. if ( archivo. getName ( ) . endsWith ( "xls" ) || archivo. getName ( ) . end
sWith ( "xlsx" ) ) {
52. JOptionPane . showMessageDialog ( null , modeloE. Exportar ( archivo,
vistaE. jtDatos ) + " \
n Formato." + archivo. getName ( ) . substring ( archivo. getName ( ) . lastIndexOf ( "." )
+ 1 ) ) ;
53. } más {
54. JOptionPane . showMessageDialog ( nulo , "Elija un formato valido" ) ;
55. }
56. }
57. }
58. }
59.
60. }

2.2. Paquete Modelo, en donde nos generara la importación y exportación.

2.2.1. Agregamos este código a la clase ModeloExcel.


3. paquete Modelo ;
4. import java.io. * ;
5. import java.util. * ;
6. import javax.swing. * ;
7. import javax.swing.table.DefaultTableModel ;
8. import org.apache.poi.EncryptedDocumentException ;
9. import org.apache.poi.ss.usermodel. * ;
10. import org.apache.poi.hssf.usermodel. * ;
11. import org.apache.poi.openxml4j.exceptions.InvalidFormatException ;
12. import org.apache.poi.xssf.usermodel. * ;
13.
14. clase pública ModeloExcel {
15. Workbook wb ;
16.
17. pública Cadena Importar ( File archivo, JTable tablaD ) {
18. String respuesta = "No se pudo realizar la importación". ;
19. DefaultTableModel modeloT = new DefaultTableModel ( ) ;
20. tablaD. setModel ( modeloT ) ;
21. tablaD. setAutoResizeMode ( JTable . AUTO_RESIZE_OFF ) ;
22. prueba {
23. wb = WorkbookFactory. crear ( nuevo FileInputStream ( archivo ) ) ;
24. Hoja hoja = wb. getSheetAt ( 0 ) ;
25. Iterator filaIterator = hoja. rowIterator ( ) ;
26. int indiceFila = - 1 ;
27. while ( filaIterator. hasNext ( ) ) {
28. indiceFila ++;
29. Fila fila = ( Fila ) filaIterator. siguiente ( ) ;
30. Iterador columnaIterator = fila. cellIterator ( ) ;
31. Objeto [ ] listaColumna = nuevo Objeto [ 1000 ] ;
32. int indiceColumna = - 1 ;
33. while ( columnaIterator. hasNext ( ) ) {
34. indiceColumna ++;
35. Cell celda = ( Cell ) columnaIterator. siguiente ( ) ;
36. if ( indiceFila == 0 ) {
37. modeloT. addColumn ( celda. getStringCellValue ( ) ) ;
38. } más {
39. if ( celda ! = null ) {
40. switch ( celda. getCellType ( ) ) {
41. caso Cell. CELL_TYPE_NUMERIC :
42. listaColumna [ indiceColumna ] = ( int ) Matemáticas . round
( celda. getNumericCellValue ( ) ) ;
43. romper ;
44. caso Cell. CELL_TYPE_STRING :
45. listaColumna [ indiceColumna ] = celda. getStringCellValue (
) ;
46. romper ;
47. caso Cell. CELL_TYPE_BOOLEAN :
48. listaColumna [ indiceColumna ] = celda. getBooleanCellValue
( ) ;
49. romper ;
50. por defecto :
51. listaColumna [ indiceColumna ] = celda. getDateCellValue ( )
;
52. romper ;
53. }
54. Sistema . a cabo . println ( "col" + indiceColumna + "valor:
verdadero -" + celda + "." ) ;
55. }
56. }
57. }
58. if ( indiceFila ! = 0 ) modeloT. addRow ( listaColumna ) ;
59. }
60. respuesta = "Importación exitosa" ;
61. } catch ( IOException | InvalidFormatException | EncryptedDocumentException e ) {
62. Sistema . err . println ( e. getMessage ( ) ) ;
63. }
64. volver respuesta ;
65. }
66.
67. pública Cadena Exportar ( File archivo, JTable tablaD ) {
68. String respuesta = "No se realizo con exito la exportación". ;
69. int numFila = tablaD. getRowCount ( ) , numColumna = tablaD. getColumnCount ( ) ;
70. if ( archivo. getName ( ) . endsWith ( "xls" ) ) {
71. wb = nuevo HSSFWorkbook ( ) ;
72. } más {
73. wb = nuevo XSSFWorkbook ( ) ;
74. }
75. Hoja hoja = wb. createSheet ( "Pruebita" ) ;
76.
77. prueba {
78. para ( int i = - 1 ; i < numFila ; i ++ ) {
79. Fila fila = hoja. createRow ( i + 1 ) ;
80. para ( int j = 0 ; j < numColumna ; j ++ ) {
81. Celda celular = fila. createCell ( j ) ;
82. si ( i == - 1 ) {
83. celda. setCellValue ( String . valueOf ( tablaD. getColumnName ( j ) ) )
;
84. } más {
85. celda. setCellValue ( String . valueOf ( tablaD. getValueAt ( i,
j ) ) ) ;
86. }
87. wb. escribir ( nuevo FileOutputStream ( archivo ) ) ;
88. }
89. }
90. respuesta = "Exportación exitosa". ;
91. } catch ( Excepción e ) {
92. Sistema . err . println ( e. getMessage ( ) ) ;
93. }
94. volver respuesta ;
95. }
96. }

2.3. Paquete Vista, se creará una clase de tipo JFrame con el nombre de VistaExcel, o
el nombre que usted escoja.
2.3.1. Creamos el diseño de la aplicación, en donde el cliente interactuará con el
software.

2.3.2. Implementamos los códigos para esta clase.

1. paquete Vista ;
2.
3. importar Modelo.ModeloExcel ;
4. import java.awt.Color ;
5. import javax.swing.JOptionPane ;
6. import javax.swing.table.DefaultTableModel ;
7.
8. clase pública VistaExcel extiende javax. el swing . JFrame {
9.
10. ModeloExcel privado fc ;
11.
12. VistaExcel público ( ) {
13. initComponents ( ) ;
14. setLocationRelativeTo ( this ) ;
15. setResizable ( falso ) ;
16.
17. getContentPane ( ) . setBackground ( Color . BLANCO ) ;
18. fc = nuevo ModeloExcel ( ) ;
19. cbx_entidad. removeAllItems ( ) ;
20. cbx_locacion. removeAllItems ( ) ;
21.
22.
23. String entidad [ ] = { "Naranja" , "Java" } ;
24. para ( int i = 0 ; i < entidad. length ; i ++ )
25. {
26. cbx_entidad. addItem ( entidad [ i ] ) ;
27. }
28.
29. String locacion [ ] = { "Almacen_llegan_fundo" , "Almacen_de_procesadora" , "Traslad
o_a_lavado" , "lavado_y_encerado" , "traslado_a_clasificadora" , "clasificado_de_naranjas"
30. , "traslado_final" , "jaba_para_naranjas" , "Pesado_de_jaba" , "
Jaba_en_zona_productos_terminados" } ;
31. for ( int i = 0 ; i < locacion. length ; i ++ )
32. {
33. cbx_locacion. addItem ( locacion [ i ] ) ;
34. }
35. }
36.
37. / **
38. * Este método se llama desde el constructor para inicializar el formulario.
39. * ADVERTENCIA: NO modifique este código. El contenido de este método es siempre
40. * regenerado por el Editor de formularios.
41. * /
42. @SuppressWarnings ( "sin marcar " )
43. // <editor-fold defaultstate = "colapsado" desc = "Código
generado">
44. privado vacío initComponents ( ) {
45.
46. btnImportar = nuevo javax. el swing . JButton ( ) ;
47. btnExportar = nuevo javax. el swing . JButton ( ) ;
48. jScrollPane1 = nuevo javax. el swing . JScrollPane ( ) ;
49. jtDatos = nuevo javax. el swing . JTable ( ) ;
50. txt_numero = nuevo javax. el swing . JTextField ( ) ;
51. jLabel6 = nuevo javax. el swing . JLabel ( ) ;
52. txt_frecuencia = nuevo javax. el swing . JTextField ( ) ;
53. btn_generar = nuevo javax. el swing . JButton ( ) ;
54. jLabel1 = nuevo javax. el swing . JLabel ( ) ;
55. cbx_entidad = nuevo javax. el swing . JComboBox <> ( ) ;
56. jLabel2 = nuevo javax. el swing . JLabel ( ) ;
57. cbx_locacion = nuevo javax. el swing . JComboBox <> ( ) ;
58. jLabel3 = nuevo javax. el swing . JLabel ( ) ;
59. txt_qty = nuevo javax. el swing . JTextField ( ) ;
60. jLabel4 = nuevo javax. el swing . JLabel ( ) ;
61. txt_tiempo = nuevo javax. el swing . JTextField ( ) ;
62. jLabel5 = nuevo javax. el swing . JLabel ( ) ;
63. jLabel7 = nuevo javax. el swing . JLabel ( ) ;
64.
65. setDefaultCloseOperation ( javax. swing . WindowConstants . EXIT_ON_CLOSE ) ;
66. setTitle ( " SIMULACION ( PROYECTO FRUCPASA)" ) ;
67.
68. btnImportar. setFont ( nueva fuente java. awt . ( "Tahoma" , 1 , 11 ) ) ; // NOI18N
69. btnImportar. setText ( "IMPORTAR" ) ;
70.
71. btnExportar. setFont ( nueva fuente java. awt . ( "Tahoma" , 1 , 11 ) ) ; // NOI18N
72. btnExportar. setText ( "EXPORTAR" ) ;
73.
74. jtDatos. setModel ( nueva javax. swing . table . DefaultTableModel (
75. nuevo objeto [ ] [ ] {
76. { nulo , nulo , nulo , nulo , nulo , nulo } ,
77. { nulo , nulo , nulo , nulo , nulo , nulo } ,
78. { nulo , nulo , nulo , nulo , nulo , nulo } ,
79. { nulo , nulo , nulo , nulo , nulo , nulo }
80. } ,
81. nueva Cadena [ ] {
82. "Título 1" , "Título 2" , "Título 3" , "Título 4" , "Título 5" , "Título 6"
83. }
84. ) ) ;
85. jtDatos. setAutoscrolls ( falso ) ;
86. jtDatos. setSelectionMode ( javax. swing . ListSelectionModel . SINGLE_SELECTION ) ;
87. jtDatos. getTableHeader ( ) . setResizingAllowed ( falso ) ;
88. jScrollPane1. setViewportView ( jtDatos ) ;
89.
90. jLabel6. setText ( "Frecuencia" ) ;
91.
92. btn_generar. setText ( "Guardar Datos" ) ;
93. btn_generar. addActionListener ( nueva java. AWT . evento . ActionListener ( ) {
94. public void actionPerformed ( java. awt . event . ActionEvent evt ) {
95. btn_generarActionPerformed ( evt ) ;
96. }
97. } ) ;
98.
99. jLabel1. setText ( "Entidad" ) ;
100.
101. cbx_entidad. setModel ( new javax. swing . DefaultComboBoxModel <> ( new String [ ]
{ "Item 1" , "Item 2" , "Item 3" , "Item 4" } ) ) ;
102.
103. jLabel2. setText ( "Ubicación" ) ;
104.
105. cbx_locacion. setModel ( new javax. swing . DefaultComboBoxModel <> ( new String [ ]
{ "Item 1" , "Item 2" , "Item 3" , "Item 4" } ) ) ;
106.
107. jLabel3. setText ( "Cantidad" ) ;
108.
109. jLabel4. setText ( "Tiempo" ) ;
110.
111. txt_tiempo. addActionListener ( nueva java. AWT . evento . ActionListener ( ) {
112. public void actionPerformed ( java. awt . event . ActionEvent evt ) {
113. txt_tiempoActionPerformed ( evt ) ;
114. }
115. } ) ;
116.
117. jLabel5. setText ( "Número" ) ;
118.
119. jLabel7. setFont ( nueva fuente java. awt . ( "Verdana" , 1 , 18 ) ) ; // NOI18N
120. jLabel7. setText ( "INGRESAR DATOS:" ) ;
121.
122. javax el swing . Diseño de GroupLayout = nuevo javax. el
swing . GroupLayout ( getContentPane ( ) ) ;
123. getContentPane ( ) . setLayout ( diseño ) ;
124. diseño. setHorizontalGroup (
125. diseño. createParallelGroup ( javax. swing . GroupLayout . Alignment . LEADING )
126. . addGroup ( layout. createSequentialGroup ( )
127. . addGap ( 29 , 29 , 29 )
128. . addComponent ( btnImportar )
129. . addGap ( 148 , 148 , 148 )
130. . addComponent ( jLabel7,
javax. swing . GroupLayout . PREFERRED_SIZE , 220 ,
javax. swing . GroupLayout . PREFERRED_SIZE )
131. . addContainerGap ( javax. swing . GroupLayout . DEFAULT_SIZE , Short . MAX_
VALUE ) )
132. . addGroup ( layout. createSequentialGroup ( )
133. . addContainerGap ( 19 , corto . MAX_VALUE )
134. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayout . Alig
nment . LEADING )
135. . addGroup ( javax. swing . GroupLayout . Alignment . TRAILING ,
layout. createSequentialGroup ( )
136. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayou
t . Alignment . LEADING )
137. . addComponent ( jLabel5 )
138. . addGroup ( layout. createSequentialGroup ( )
139. . addGroup ( layout. createParallelGroup ( javax. swing . Gr
oupLayout . Alignment . LEADING )
140. . addComponent ( jLabel1 )
141. . addComponent ( jLabel4 )
142. . addComponent ( jLabel3 )
143. . addComponent ( jLabel2 )
144. . addComponent ( jLabel6 ) )
145. . addGap ( 70 , 70 , 70 )
146. . addGroup ( layout. createParallelGroup ( javax. swing . Gr
oupLayout . Alignment . LEADING )
147. . addComponent ( cbx_entidad,
javax. swing . GroupLayout . PREFERRED_SIZE , 163 ,
javax. swing . GroupLayout . PREFERRED_SIZE )
148. . addComponent ( txt_qty,
javax. swing . GroupLayout . PREFERRED_SIZE , 163 ,
javax. swing . GroupLayout . PREFERRED_SIZE )
149. . addComponent ( ubicación_cbx,
javax. swing . GroupLayout . PREFERRED_SIZE , 163 ,
javax. swing . GroupLayout . PREFERRED_SIZE )
150. . addComponent ( txt_tiempo,
javax. swing . GroupLayout . PREFERRED_SIZE , 163 ,
javax. swing . GroupLayout . PREFERRED_SIZE )
151. . addComponent ( txt_numero,
javax. swing . GroupLayout . PREFERRED_SIZE , 52 ,
javax. swing . GroupLayout . PREFERRED_SIZE )
152. . addComponent ( txt_frecuencia,
javax. swing . GroupLayout . PREFERRED_SIZE , 52 ,
javax. swing . GroupLayout . PREFERRED_SIZE ) ) ) )
153. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayou
t . Alignment . LEADING )
154. . addGroup ( layout. createSequentialGroup ( )
155. . addGap ( 102 , 102 , 102 )
156. . addComponent ( btn_generar,
javax. swing . GroupLayout . PREFERRED_SIZE , 163 ,
javax. swing . GroupLayout . PREFERRED_SIZE ) )
157. . addGroup ( javax. swing . GroupLayout . Alignment . TRAILING ,
layout. createSequentialGroup ( )
158. . addPreferredGap ( javax. swing . LayoutStyle . ComponentPl
acement . RELACIONADO )
159. . addComponent ( btnExportar )
160. . addGap ( 11 , 11 , 11 ) ) ) )
161. . addComponent ( jScrollPane1,
javax. swing . GroupLayout . Alignment . TRAILING ,
javax. swing . GroupLayout . PREFERRED_SIZE , 669 ,
javax. swing . GroupLayout . PREFERRED_SIZE ) )
162. . addGap ( 0 , 13 , corto . MAX_VALUE ) )
163. ) ;
164. diseño. setVerticalGroup (
165. diseño. createParallelGroup ( javax. swing . GroupLayout . Alignment . LEADING )
166. . addGroup ( layout. createSequentialGroup ( )
167. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayout . Alig
nment . LEADING )
168. . addGroup ( layout. createSequentialGroup ( )
169. . addGap ( 114 , 114 , 114 )
170. . addComponent ( btn_generar,
javax. swing . GroupLayout . PREFERRED_SIZE , 47 ,
javax. swing . GroupLayout . PREFERRED_SIZE )
171. . addPreferredGap ( javax. swing . LayoutStyle . ComponentPlacement
. RELATED , javax. swing . GroupLayout . DEFAULT_SIZE , Short . MAX_VALUE )
172. . addComponent ( btnExportar )
173. . addGap ( 18 , 18 , 18 ) )
174. . addGroup ( layout. createSequentialGroup ( )
175. . addContainerGap ( )
176. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayou
t . Alignment . LEADING )
177. . addGroup ( layout. createSequentialGroup ( )
178. . addComponent ( btnImportar )
179. . addGap ( 39 , 39 , 39 )
180. . addGroup ( layout. createParallelGroup ( javax. swing . Gr
oupLayout . Alignment . BASELINE )
181. . addComponent ( jLabel1 )
182. . addComponent ( cbx_entidad,
javax. swing . GroupLayout . PREFERRED_SIZE , javax. swing . GroupLayout . DEFAULT_SIZE ,
javax. swing . GroupLayout . PREFERRED_SIZE ) )
183. . addPreferredGap ( javax. swing . LayoutStyle . ComponentPl
acement . RELACIONADO )
184. . addGroup ( layout. createParallelGroup ( javax. swing . Gr
oupLayout . Alignment . BASELINE )
185. . addComponent ( jLabel2 )
186. . addComponent ( ubicación_bc,
javax. swing . GroupLayout . PREFERRED_SIZE , javax. swing . GroupLayout . DEFAULT_SIZE ,
javax. swing . GroupLayout . PREFERRED_SIZE ) ) )
187. . addComponent ( jLabel7,
javax. swing . GroupLayout . PREFERRED_SIZE , 44 ,
javax. swing . GroupLayout . PREFERRED_SIZE ) )
188. . addPreferredGap ( javax. swing . LayoutStyle . ComponentPlacement
. RELACIONADO )
189. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayou
t . Alignment . BASELINE )
190. . addComponent ( jLabel3 )
191. . addComponent ( txt_qty,
javax. swing . GroupLayout . PREFERRED_SIZE , javax. swing . GroupLayout . DEFAULT_SIZE ,
javax. swing . GroupLayout . PREFERRED_SIZE ) )
192. . addPreferredGap ( javax. swing . LayoutStyle . ComponentPlacement
. RELACIONADO )
193. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayou
t . Alignment . BASELINE )
194. . addComponent ( txt_tiempo,
javax. swing . GroupLayout . PREFERRED_SIZE , javax. swing . GroupLayout . DEFAULT_SIZE ,
javax. swing . GroupLayout . PREFERRED_SIZE )
195. . addComponent ( jLabel4,
javax. swing . GroupLayout . DEFAULT_SIZE ,
javax. swing . GroupLayout . DEFAULT_SIZE , Short . MAX_VALUE ) )
196. . addPreferredGap ( javax. swing . LayoutStyle . ComponentPlacement
. RELACIONADO )
197. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayou
t . Alignment . BASELINE )
198. . addComponent ( txt_numero,
javax. swing . GroupLayout . PREFERRED_SIZE , javax. swing . GroupLayout . DEFAULT_SIZE ,
javax. swing . GroupLayout . PREFERRED_SIZE )
199. . addComponent ( jLabel5 ) )
200. . addPreferredGap ( javax. swing . LayoutStyle . ComponentPlacement
. RELACIONADO )
201. . addGroup ( layout. createParallelGroup ( javax. swing . GroupLayou
t . Alignment . BASELINE )
202. . addComponent ( txt_frecuencia,
javax. swing . GroupLayout . PREFERRED_SIZE , javax. swing . GroupLayout . DEFAULT_SIZE ,
javax. swing . GroupLayout . PREFERRED_SIZE )
203. . addComponent ( jLabel6 ) )
204. . addGap ( 39 , 39 , 39 ) ) )
205. . addComponent ( jScrollPane1,
javax. swing . GroupLayout . PREFERRED_SIZE , 185 ,
javax. swing . GroupLayout . PREFERRED_SIZE )
206. . addContainerGap ( ) )
207. ) ;
208.
209. paquete ( ) ;
210. } // </editor-fold>
211.
212. nulo privado btn_generarActionPerformed ( java. awt . event . ActionEvent evt ) {

213. Entidad de cadena = cbx_entidad. getSelectedItem ( ) . toString ( ) ;


214. Cadena locacion = cbx_locacion. getSelectedItem ( ) . toString ( ) ;
215. Cadena cantidad = txt_qty. getText ( ) ;
216. Cadena tiempo = txt_tiempo. getText ( ) ;
217. Cadena numero = txt_numero. getText ( ) ;
218. Cadena frecuencia = txt_frecuencia. getText ( ) ;
219. prueba {
220. String [ ] cabecera = { "Entidad" , "Locacion" , "Qty" , "Tiempo" , "Numero" , "
Frecuencia" } ;
221.
222. Cadena [ ] [ ] entrada = {
223. { entidad, locacion, qty, tiempo, numero, frecuencia } } ;
224.
225. jtDatos. setModel ( nuevo DefaultTableModel ( entrada, cabecera ) ) ;
226.
227. } catch ( Excepción e ) {
228. JOptionPane . showConfirmDialog ( rootPane, "Error" ) ;
229. }
230.
231. }
232.
233. nulo privado txt_tiempoActionPerformed ( java. awt . event . ActionEvent evt ) {

234. // TODO agregue su código de manejo aquí:


235. }
236.
237. / **
238. * @param argumenta los argumentos de la línea de comando
239. * /
240. public static void main ( String args [ ] ) {
241. / * Establecer el aspecto y la sensación de Nimbus * /
242. // <editor-fold defaultstate = "collapsed" desc = "Código de configuración de
aspecto (opcional)">
243. / * Si Nimbus (introducido en Java SE 6) no está disponible, manténgase con el
aspecto predeterminado.
244. * Para más detalles, consulte
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
245. * /
246. prueba {
247. for ( javax. swing . UIManager. LookAndFeelInfo info : javax. swing . UIManager
. getInstalledLookAndFeels ( ) ) {
248. if ( "Nimbus" . es igual a ( info. getName ( ) ) ) {
249. javax el swing . UIManager . setLookAndFeel ( info. getClassName ( ) ) ;
250. romper ;
251. }
252. }
253. } catch ( ClassNotFoundException ex ) {
254. Java. util . tala . Registrador . getLogger ( VistaExcel. class . getName ( ) )
. log ( java. util . logging . Level . SEVERE , null , ex ) ;
255. } catch ( InstantiationException ex ) {
256. Java. util . tala . Registrador . getLogger ( VistaExcel. class . getName ( ) )
. log ( java. util . logging . Level . SEVERE , null , ex ) ;
257. } catch ( IllegalAccessException ex ) {
258. Java. util . tala . Registrador . getLogger ( VistaExcel. class . getName ( ) )
. log ( java. util . logging . Level . SEVERE , null , ex ) ;
259. } catch ( javax. swing . UnsupportedLookAndFeelException ex ) {
260. Java. util . tala . Registrador . getLogger ( VistaExcel. class . getName ( ) )
. log ( java. util . logging . Level . SEVERE , null , ex ) ;
261. }
262. // </editor-fold>
263.
264. / * Crear y mostrar el formulario * /
265. Java. AWT . EventQueue . invokeLater ( nuevo Runnable ( ) {
266. public void run ( ) {
267. nuevo VistaExcel ( ) . setVisible ( verdadero ) ;
268. }
269. } ) ;
270. }
271.
272. // Declaración de variables - no modificar
273. javax público el swing . JButton btnExportar ;
274. javax público el swing . JButton btnImportar ;
275. javax privado el swing . JButton btn_generar ;
276. javax privado el swing . JComboBox < String > cbx_entidad ;
277. javax privado el swing . JComboBox < String > cbx_locacion ;
278. javax privado el swing . JLabel jLabel1 ;
279. javax privado el swing . JLabel jLabel2 ;
280. javax privado el swing . JLabel jLabel3 ;
281. javax privado el swing . JLabel jLabel4 ;
282. javax privado el swing . JLabel jLabel5 ;
283. javax privado el swing . JLabel jLabel6 ;
284. javax privado el swing . JLabel jLabel7 ;
285. javax privado el swing . JScrollPane jScrollPane1 ;
286. javax público el swing . JTable jtDatos ;
287. javax privado el swing . JTextField txt_frecuencia ;
288. javax privado el swing . JTextField txt_numero ;
289. javax privado el swing . JTextField txt_qty ;
290. javax privado el swing . JTextField txt_tiempo ;
291. // Fin de la declaración de variables
292. }

2.4. Paquete gestionexcel.

2.4.1. Copiamos el siguiente código en la clase GestionExcel.

1. paquete gestionexcel ;
2. importar Modelo.ModeloExcel ;
3. importar Vista.VistaExcel ;
4. importa Controlador.ControladorExcel ;
5.
6. clase pública GestionExcel {
7.
8. / **
9. * @param argumenta los argumentos de la línea de comando
10. * /
11. public static void main ( String [ ] args ) {
12. ModeloExcel modeloE = new ModeloExcel ( ) ;
13. VistaExcel vistaE = nueva VistaExcel ( ) ;
14. ControladorExcel contraControladorExcel = nuevo ControladorExcel ( vistaE,
modeloE ) ;
15. vistaE. setVisible ( verdadero ) ;
16. vistaE. setLocationRelativeTo ( nulo ) ;
17. }
18.
19. }

PROCESO DEL PROGRAMA:

3. Ejecutamos el
programa:
3.1. Importamos el archivo:

3.2. Seleccionamos el archivo y cambiamos datos


3.3. Guardamos y Exportamos el archivo
3.4 Buscamos el Archivo Excel Generado y lo abrimos.

4. Luego en ProModel, agregamos un archivo Externo y sincronizamos

También podría gustarte