Java - exportar a excel con largo de columnas

 
Vista:
sin imagen de perfil

exportar a excel con largo de columnas

Publicado por enrique (3 intervenciones) el 17/06/2016 02:10:33
Hola: Estoy exportando registros de un jTable a Excel y funciona bien. El problema que tengo es que exporta con el ancho fijo de columnas y estéticamente debiera ser mejor. Entonces me gustaría que pudiera establecer el largo de cada columna en el Excel. Tengo el siguiente código;

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
37
38
39
private void btnExportarActionPerformed(java.awt.event.ActionEvent evt) {
 
	if (Tabla_Deriva.getRowCount() > 0) {
		JFileChooser chooser = new JFileChooser();
		FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivos de excel", "xls");
		chooser.setFileFilter(filter);
		chooser.setDialogTitle("Guardar archivo");
		chooser.setAcceptAllFileFilterUsed(false);
		if (chooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
			List<JTable> tb = new ArrayList<JTable>();
			List<String> nom = new ArrayList<String>();
 
			TableColumnModel columnModel = Tabla_Deriva.getColumnModel();
 
			tb.add(Tabla_Deriva); // Tabla
 
			nom.add("Personas");
 
			String file = chooser.getSelectedFile().toString().concat(".xls");
 
			for (int i = 0; i < columnModel.getColumnCount(); i++) {
				columnModel.getColumn(1).setPreferredWidth(12);
				columnModel.getColumn(2).setPreferredWidth(100);
				columnModel.getColumn(3).setPreferredWidth(150);
				etc..   // Aqui parece que tengo problemas
			}
			try {
				Exporter e = new Exporter(new File(file), tb, nom);
				if (e.export()) {
					JOptionPane.showMessageDialog(null, "Los datos fueron exportados a Excel en el directorio seleccionado", "Mensaje de Informacion", JOptionPane.INFORMATION_MESSAGE);
				}
			} catch (Exception e) {
				JOptionPane.showMessageDialog(null, "Hubo un error " + e.getMessage(), " Error", JOptionPane.ERROR_MESSAGE);
			}
		}
	}else{
		JOptionPane.showMessageDialog(this, "No hay datos para exportar","Mensaje de error",JOptionPane.ERROR_MESSAGE);
	}
}

Muchas gracias si alguien me puede orientar.
Saludos.
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