@Override
public HSSFWorkbook exportExcel(List<Xx> list)
{
HSSFWorkbook wb=new HSSFWorkbook();
HSSFSheet sheet=wb.createSheet();
HSSFRow row = null;
HSSFCell cell=null;
CellRangeAddress cra=null;
HSSFCellStyle style1=wb.createCellStyle();
style1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
HSSFFont font1=wb.createFont();
font1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
style1.setFont(font1);
style1.setWrapText(true);
setBorder(style1);
HSSFCellStyle style2=wb.createCellStyle();
style2.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
style2.setWrapText(true);
setBorder(style2);
int rowIndex=0;
int cellCount=5;
String title="xx表";
row=sheet.createRow(rowIndex++);
cell=row.createCell(0);
cell.setCellValue(title);
cell.setCellStyle(style1);
cra=new CellRangeAddress(rowIndex-1, rowIndex-1, 0, 4);
sheet.addMergedRegion(cra);
setBorder(cra,sheet,wb);
String[] header=new String[5];
header[0]="序号";
header[1]="字段1";
header[2]="字段2";
header[3]="字段3";
header[4]="字段4";
row=sheet.createRow(rowIndex++);
for(int i=0;i<header.length;i++)
{
cell=row.createCell(i);
cell.setCellValue(header[i]);
cell.setCellStyle(style1);
}
for(int i=0;i<List.size();i++)
{
Xx xx=List.get(i);
row=sheet.createRow(rowIndex++);
cell=row.createCell(0);
cell.setCellValue(i+1);
cell.setCellStyle(style2);
cell=row.createCell(1);
cell.setCellValue(xx.get1());
cell.setCellStyle(style2);
cell=row.createCell(2);
cell.setCellValue(xx.get2());
cell.setCellStyle(style2);
cell=row.createCell(3);
cell.setCellValue(xx.get3());
cell.setCellStyle(style2);
cell=row.createCell(4);
cell.setCellValue(xx.get4());
cell.setCellStyle(style2);
}
return wb;
}
/**
* 对合并的单元格设置边框
* @param cra
* @param sheet
* @param wb
*/
private void setBorder(CellRangeAddress cra,HSSFSheet
sheet,HSSFWorkbook wb)
{
RegionUtil.setBorderBottom(1, cra, sheet,wb);
RegionUtil.setBorderLeft(1, cra, sheet,wb);
RegionUtil.setBorderRight(1, cra, sheet,wb);
RegionUtil.setBorderTop(1, cra, sheet,wb);
}
/**
* 对单个单元格设置边框
* @param style
*/
private void setBorder(HSSFCellStyle style)
{
style.setBorderBottom(HSSFBorderFormatting.BORDER_THIN);
style.setBorderLeft(HSSFBorderFormatting.BORDER_THIN);
style.setBorderRight(HSSFBorderFormatting.BORDER_THIN);
style.setBorderTop(HSSFBorderFormatting.BORDER_THIN);
}