2010-12-14 12 views
5

¿Alguien sabe una biblioteca que transformaría una Cadena [] [] en una tabla de Cadena como la siguiente?Biblioteca de Java para escribir una tabla en la línea de comandos

 
| title1 | title2 | 
|________|________| 
| blah | blih | 
| blah2 | blih2 | 
etc... 

Podría escribir cadenas formateadas para esto, pero será un código no genérico, vinculado a los parámetros. Escribir código genérico para este propósito sería más caro de lo que estoy dispuesto a invertir.

Así que en general, creo que una biblioteca estaría justificada para esto.

¿Alguna idea si ya existe?

+2

nos podría utilizar un csv formatear y ver en una oficina abierta o excel? – Milhous

+0

¿Qué pasa con 'String.format()'? –

+1

String.format() es bueno, simplemente no da la lógica para calcular el ancho de las columnas o adaptar la tabla a diferentes números de columnas según diferentes String [] [] de entrada. – matthieus

Respuesta

5

Según daniel_or_else en this hilo:

Usando j-text-utils es posible imprimir a la consola una tabla como:

_____________________________________________________________ 
| Item Num | Description   | Rating | Cost | Price | 
============================================================= 
| 8675309 | Tommy Tutone Album |  3 | 5.99 | 10.99 | 
| 5619452 | Led Zeppelin Box Set |  5 | 10.42 | 24.95 | 
| 9154732 | Justin Bieber Box Set |  -1 | 0.00 | 0.00 | 

Y es tan simple como:

TextTable tt = new TextTable(columnNames, data); 
tt.printTable(); 
1

No estoy al tanto de cualquier biblioteca que hace esto, pero echar un vistazo a esta cuestión de forma:

Java: Print a 2D String array as a right-justified table

Se le muestra cómo se puede crear un método genérico que dinámicamente genera cadenas de formato de cada columna

+0

Esta es una buena solución, pero si existe una biblioteca, aún me gustaría saberlo, ya que necesito más funciones de formato en mi caso. En realidad no estoy buscando una solución, más una biblioteca para externalizar este tipo de lógica (si puedo evitar el mantenimiento de mi código feo, voy a :-)). – matthieus

Cuestiones relacionadas