Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo usar Java para exportar Excel

Cómo usar Java para exportar Excel

/** *?@author?liuwu * Importación y exportación de Excel*/**

@SuppressWarnings({?" unchecked"? })

public?class?ExcelOperate?

/**

?*?@author?liuwu

?*?Este es un método general que utiliza el mecanismo de reflexión JAVA,

? Este es un método general que utiliza el mecanismo de reflexión JAVA,

?*Puede enviar datos que cumplan condiciones específicas en la colección JAVA al dispositivo IO especificado en forma de un archivo Excel

?*?@param?title?Nombre del título del formulario

?*?@param?headers?Matriz de nombres de columnas de atributos de tabla

?*?@param ?conjunto de datos? Una colección de datos que se mostrarán, qué objetos de clases de estilo javabean deben colocarse.

?* Los tipos de datos de atributos javabean admitidos por este método incluyen tipos de datos básicos de Java y Cadena, Fecha, byte[] (Imagen convertida a código de bytes)

El objeto ?*?@param?out?Stream está asociado con el dispositivo de salida y puede exportar el documento EXCEL a un archivo o red local

? *?Si hay datos de tiempo, configure el formato de salida.

El valor predeterminado es "yyyy-MM-dd"

?*@throws?IOException?@throws?IOException?

?*/

public?Libro de trabajo de declaración

HSSFWorkbook libro de trabajo = new HSSFWorkbook();

//Generar tabla

HSSFSheet?sheet?=?workbook.createSheet(title);

///?Establezca el ancho de columna predeterminado de la tabla en 15 bytes

sheet.setDefaultColumnWidth((short)?20);

///?Generar estilo p>

HSSFCellStyle?style?=?workbook.createCellStyle();

//setBorderLeft(HSSFCellStyle.BORDER_THIN);

style.setBorderRight(HSSFCellStyle.BORDER_THIN

style.setBorderTop(HSSFCellStyle.BORDER_THIN);

style.setAlignment( HSSFCellStyle.ALIGN_CENTER

//Generar fuente

);

HSSFFont?font?=?workbook.createFont();

font.setColor(HSSFColor.VIOLET.index);

font.setFontHeightInPoints( (corto)?12) ;

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

///?Aplicar fuente al estilo actual

style.setFont(font);

///?Generar y establecer otro estilo

HSSFCellStyle?style2?=?workbook.createCellStyle();

style2.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index); p>

//?index);

style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

style2.setBorderBottom(HSSFCellStyle.BORDER_THIN); p> style2.p> style2.setBorderLeft(HSSFCellStyle.BORDER_THIN);

style2.setBorderRight(HSSFCellStyle.BORDER_THIN);

style2.setBorderTop(HSSFCellStyle.BORDER_THIN);

style2.createCellStyle.BORDER_THIN);

style2.setAlignment(HSSFCellStyle.ALIGN_CENTE

R);

style2.setVerticalAlignment( HSSFCellStyle.VERTICAL_CENTER);

//Generar otra fuente

HSSFFont?font2?=?workbook.createFont () ;

font2.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);

///Aplicar fuente al estilo actual

style2.setFont(font2);

///?Generar fila de encabezado

HSSFRow?{

HSSFCell?cell?=?row.createCell(i);

cell.setCellStyle( estilo);

HSSFRichTextString?text?=?new?HSSFRichTextString( encabezados[i]);

cell.setCellValue(texto);

}

///?Recorre los datos de la colección para generar filas de datos

Iteratorlt;? gt;?it?=?dataset.iterator();

int ?{

índice ;

fila?=?sheet.createRow(index);

Objeto?t?=?it.next();

p >

//Utilice la reflexión para llamar dinámicamente al método getXxx() para obtener valores de atributos según el orden de los atributos javabean

Field[]?fields?=?t.getClass() .getDeclaredFields();

para?(short?i?=?0;?i?lt;?fields.length;?i )?{

HSSFCell?cell?= ?row.createCell( i);

cell.setCellStyle(style2);

Campo?field?=?fields[i];

Cadena?fieldName ? =?field. getName();

String?getMethodName?=?" get"

?fieldName.substring(0,?1).toUpperCase()

?fieldName .substring(1); //Nota?Entity get?Set No cambie el nombre usted mismo, de lo contrario se producirán problemas de reflexión

¿intenta?{

¿Clase? tCls?=?t.getClass ();

¿Método?getMethod?=?tCls.getMethod(getMethodName, new? Class[]? {});

¿Objeto?valor? =?getMethod.invoke(t , new?Object[]? {});

¿Object?value?=?getMethod.invoke(t, new?Object[]? {});

¿Objeto?{ });

HSSFRichTextString?rich

String?=?new?HSSFRichTextString(value.toString());

HSSFFont?font3?=?workbook.createFont()

font3.setColor(HSSFColor.BLUE.index); );

richString.applyFont(font3);

cell.setCellValue(richString);

}?{

e.printStackTrace; ();

e=null;

}?catch ?(NoSuchMethodException?e)?{

e.printStackTrace();

e=null;

}?{

e.printStackTrace();

e=null;

e.printStackTrace();

e=null

}?{

e.printStackTrace(); >

e=null;

}?¿Finalmente?Borrar recursos

}

}

}

intentar?{

e.printStackTrace();

e=null

}

}

<; p> }

}