Java - Editar Archivos Excel en Java Eclipse

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Editar Archivos Excel en Java Eclipse

Publicado por Guille (5 intervenciones) el 18/01/2019 01:02:42
Hola Buenas tardes ,Estoy intentando modificar un Excel, el Excel lo creo en otra class (creando el Excel funciona bien) el problema es cuando lo modifico;
Codigo de Creacion del Excel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
if (Excel.exists()) {
			/////////////////////////////
			System.out.println("Existe");
			/////////////////////////////
		}else {
			/////////////////////////////
			System.out.println("No Existe");
			/////////////////////////////
			Workbook workbook = new XSSFWorkbook();
			Sheet Pagina1= workbook.createSheet("Antes Del Traslado");
			CellStyle style = workbook.createCellStyle();
			style.setFillForegroundColor(IndexedColors.GOLD.getIndex());
			style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
			Row fila = Pagina1.createRow(0);
			String[] Marco=new String[] {"Dia De Contacto","Mes","Año","Hora","Minutos","Am/Pm","Nombre","Apellido","Celular","Email","Dia De Traslado","Mes","Año","Hora","Minutos","Am/Pm","Kilometros Estimados","Tipo De Traslado","Ida Y/O Vuelta","Numeros De Pasajeros","Horas De Esperas","Precio","Dol.Pes ","Hora De Ida","Minutos","Am/Pm","Hora De vuelta","Minutos","Am/Pm","Vehiculo Presupuestado"};
			for (int i = 0; i < Marco.length; i++) {
				Cell celda = fila.createCell(i);
				celda.setCellStyle(style);
				celda.setCellValue(Marco[i]);
			}
			for (int i = 0; i < Marco.length; i++) {
				Pagina1.autoSizeColumn(i);
			}
			try (FileOutputStream Salid = new FileOutputStream(Excel)){
				workbook.write(Salid);
				Salid.close();
				LOGGER.log(Level.INFO, "Archivo creado existosamente en {0}", Excel.getAbsolutePath());
			}
			catch (FileNotFoundException ex) {
				LOGGER.log(Level.SEVERE, "Archivo no localizable en sistema de archivos");
			} catch (IOException ex) {
				LOGGER.log(Level.SEVERE, "Error de entrada/salida");
			}
		}
	}
}


Codigo de Modificacion:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
File Excel = new File("Traslados.xlsx");
		Workbook workbook =new XSSFWorkbook();
		Sheet pagina =workbook.getSheetAt(0);
		Row filas=pagina.createRow(5);
		for (int i=0; i<5;i++) {
			Cell celda=filas.createCell(i);
			celda.setCellValue("Prueba");
		}
		try (FileOutputStream Salid = new FileOutputStream(Excel)){
			workbook.write(Salid);
			Salid.close();
			Desktop.getDesktop().open(Excel);
			LOGGER.log(Level.INFO, "Archivo creado existosamente en {0}", Excel.getAbsolutePath());
		}
		catch (FileNotFoundException ex) {
			LOGGER.log(Level.SEVERE, "Archivo no localizable en sistema de archivos");
		} catch (IOException ex) {
			LOGGER.log(Level.SEVERE, "Error de entrada/salida");
		}
 
	}
}

estoy intentando usar .getSheetAt() al modificar el excel pero en el error me dice que "Sheet index (0) is out of range (no sheets)" e intentado de todo pero no doy con la solución , no encuentro el indice del sheet,

este es el error que me dio:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Sheet index (0) is out of range (no sheets)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.validateSheetIndex(XSSFWorkbook.java:1474)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.getSheetAt(XSSFWorkbook.java:1150)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.getSheetAt(XSSFWorkbook.java:122)
at Excel.Antes_Del_Traslado_Excel.<init>(Antes_Del_Traslado_Excel.java:33)
at Antes_Del_Traslado.Guardar_Cancelar$Accion_Guardar.actionPerformed(Guardar_Cancelar.java:69)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:270)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6589)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6354)
at java.desktop/java.awt.Container.processEvent(Container.java:2261)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4966)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2319)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4914)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4543)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4484)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2305)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder