public static <T> void exportExcel(List<String> titles,List<T> list, OutputStream outputStream) throws IllegalArgumentException, IllegalAccessException{
//创建工作表
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); //工作表
HSSFSheet createSheet = hssfWorkbook.createSheet(); //创建一个sheet
HSSFRow row = createSheet.createRow(0); //标题行
HSSFCellStyle cellStyle = hssfWorkbook.createCellStyle();
cellStyle.setWrapText(true); //自动换行
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);//水平居中
//有可能有版本问题 CellStyle.ALIGN_CENTER 替换为 HorizontalAlignment.CENTER
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);//垂直居中
//有可能有版本问题 CellStyle.VERTICAL_CENTER 替换为 VerticalAlignment.CENTER
//设置标头
for(int p = 0; p < titles.size();p++){
HSSFCell createCell2 = row.createCell(p);
createCell2.setCellStyle(cellStyle);
createCell2.setCellValue(titles.get(p).toString());
}
createSheet.setDefaultColumnStyle(0, cellStyle); //第一行格式
//设置数据
for(int i = 0;i<list.size();i++){
row = createSheet.createRow(i+1);
T t = list.get(i);
Field[] declaredFields = t.getClass().getDeclaredFields(); //获取所有属性
for(int m = 0; m< declaredFields.length;m++){
declaredFields[m].setAccessible(true);//设置属性可以访问
Object object = declaredFields[m].get(t); //属性值
HSSFCell createCell = row.createCell(m);
createCell.setCellStyle(cellStyle);
createCell.setCellValue(object+"");//商店名称
}
createSheet.setColumnWidth(i, 25 * 256); //设置单元格宽度
}
try {
//hssfWorkbook.write(outputStream); //发送
File file = new File("D://123.xls");
hssfWorkbook.write(file);
} catch (IOException e) {
e.printStackTrace();
}
}