¿Cómo exportar los datos consultados de la base de datos a un archivo Excel en programación Java?
importar jxl.*;
importar jxl.write.*;
importar java.io.*; io.File.*;
importar java.util.*;
clase pública excel
{
public static void main( String[] args)
{
String targetfile = "c:/out.xls"; //Nombre del archivo Excel de salida
String worksheet = " Lista "; //El nombre de la hoja de trabajo del archivo de Excel de salida
String[] title = {"ID", "NAME", "DESCRIB"}; //El título de la hoja de trabajo de Excel
Libro de trabajo WritableWorkbook;
prueba
{
//Crea un libro de trabajo de Excel grabable y ejecuta el archivo generado en tomcat/bin p>
//libro de trabajo = Workbook.createWorkbook(new File("output.xls"));
System.out.println("begin");
OutputStream os=new FileOutputStream (targetfile);
workbook=Workbook.createWorkbook(os);
Hoja WritableSheet = workbook.createSheet(worksheet, 0 //Agregar la primera hoja de trabajo
);//WritableSheet hoja1 = workbook.createSheet("MySheet1", 1); //Se puede agregar un segundo trabajo
/*
write.Label label =. new jxl.write.Label(0, 2, "Un registro de etiqueta"); //coloca una etiqueta en la celda A3, Label(columna, fila)
sheet.addCell(label
*/
jxl.write.Label etiqueta;
for (int i=0; ilt; title.length; i)
{
//Label(número de columna, número de fila, contenido)
label = new jxl.write.Label(i, 0, title[i]); en fila1
sheet.addCell(label);
}
// Se han depurado las siguientes configuraciones agregadas para fuentes y otras configuraciones. referencia
//Agregar números
jx
l.write.Number number = new jxl.write.Number(3, 4, 3.14159); //ponga el número 3.14159 en la celda D5
sheet.addCell(number
//Agregar un objeto con formato de fuente
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 10, WritableFont.BOLD, true
); jxl.write.WritableCellFormat wcfF = nuevo jxl.write.WritableCellFormat(wf);
jxl.write.Label labelCF = nuevo jxl.write.Label(4, 4, "texto", wcfF) ; /p>
sheet.addCell(labelCF);
//Agregar un objeto con color de fuente y color de fondo Formato
jxl.write.WritableFont wfc = new jxl.write .WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED
jxl.write.WritableCellFormat wcfFC = new jxl.write); .WritableCellFormat(wfc);
wcfFC.setBackground(jxl.format.Colour.BLUE);
jxl.write.Label labelCFC = nuevo jxl.write.Label (1, 5) , "con color", wcfFC);
sheet.addCell(labelCFC
//Agregar objeto Número con formato
jxl.write.NumberFormat nf); = nuevo jxl.write.NumberFormat("#.##");
jxl.write.WritableCellFormat wcfN = nuevo jxl.write.WritableCellFormat(nf); .Number labelNF = new jxl.write.Number(1, 1, 3.1415926, wcfN);
sheet.addCell(labelNF
//3 .Agregar objeto booleano p>
jxl.write.Boolean labelB = nuevo jxl.write.Boolean(0, 2, false
sheet.addCell(labelB); Agregar objeto FechaHora
<p>jxl.write.DateTime labelDT = new jxl.write.DateTime(0, 3, new java.util.Date());
sheet.addCell(labelDT); >//Agregar objeto DateFormat con formato
jxl.write.DateFormat df = new jxl.write.DateFormat("ddMMyyyyhh:mm:ss");
jxl.write .WritableCellFormat wcfDF = nuevo jxl.write.WritableCellFormat(df);
jxl.write.DateTime labelDTF = nuevo jxl.write.DateTime(1, 3, nuevo java.util.Date(), wcfDF) ; /p>
sheet.addCell(labelDTF);
//Y celdas invitadas
//sheet.mergeCells(int col1, int fila1, int col2, int fila2) ; //Esquina superior izquierda a esquina inferior derecha
sheet.mergeCells(4, 5, 8, 10); //Esquina superior izquierda a esquina inferior derecha
wfc = new jxl write.WritableFont(WritableFont.ARIAL, 40, WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.GREEN
jxl.write.WritableCellFormat wchB = new jxl); write.WritableCellFormat(wfc);
wchB.setAlignment(jxl.format.Alignment.CENTRE);
labelCFC = new jxl.write.Label(4, 5, "Celda merge ", wchB);
sheet.addCell(labelCFC); //
//Establecer el borde
jxl.write.WritableCellFormat wcsB = new jxl .write .WritableCellFormat();
wcsB.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THICK
labelCFC = nuevo jxl.write.Label); (0, 6, "Configuración de borde", wcsB);
sheet.addCell(labelCFC
workbook.write(); ()
}catch(Excepción e)
{
e.printStackTrace()
} <
/p>
System.out.println("end");
Tiempo de ejecución r=Runtime.getRuntime();
Proceso p=null; p>//String cmd[]={"notepad","exec.java"};
String cmd[]={"C:\\Archivos de programa\\Microsoft Office\\Office\\ EXCEL.EXE", "out.xls"};
prueba{
p=r.exec(cmd);
}
catch(Exception e){
System.out.println("error al ejecutar: " cmd[0]);
}
} p>
p>
}