Red de conocimiento informático - Material del sitio web - ¿Cómo exportar los datos consultados de la base de datos a un archivo Excel en programación Java?

¿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

//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

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>

}