/**
工作人员调配业务审批单
*/
public static HSSFWorkbook createGzryddTable(DataObject para) throws AppException, IOException {
String nd = para.getString("nd","");
int ddxh = para.getInt("ddxh",0);
String lb = para.getString("lb","");
String fx = para.getString("fx","");
String zysy = para.getString("zysy","");
String bzyj = para.getString("bzyj","");
String fgfbzyj = para.getString("fgfbzyj","");
String fzcsyj = para.getString("fzcsyj","");
String bz = para.getString("bz","");
DataStore ryds = para.getDataStore("ryds",new DataStore());
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("工作人员调配业务审批单");
HSSFPrintSetup printSetup = sheet.getPrintSetup();
printSetup.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);
printSetup.setLandscape(false); // 打印方向,true:横向,false:纵向(默认)
//列宽
sheet.setColumnWidth(0,(int)4.88*256+184);
sheet.setColumnWidth(1,(int)5.75*256+184);
sheet.setColumnWidth(2,(int)8.38*256+184);
sheet.setColumnWidth(3,(int)13.38*256+184);
sheet.setColumnWidth(4,(int)4.25*256+184);
sheet.setColumnWidth(5,(int)8.38*256+184);
sheet.setColumnWidth(6,(int)6*256+184);
sheet.setColumnWidth(7,(int)32.01*256+184);
//行高
HSSFRow row0 = sheet.createRow(0);
row0.setHeightInPoints((float) 31.5);
HSSFRow row1 = sheet.createRow(1);
row1.setHeightInPoints((float) 21.75);
HSSFRow row2 = sheet.createRow(2);
row2.setHeightInPoints((float) 19.5);
HSSFRow row3 = sheet.createRow(3);
row3.setHeightInPoints((float) 63);
HSSFRow row4 = sheet.createRow(4);
row4.setHeightInPoints((float) 128.25);
HSSFRow row5 = sheet.createRow(5);
row5.setHeightInPoints((float) 128.25);
HSSFRow row6 = sheet.createRow(6);
row6.setHeightInPoints((float) 18.75);
HSSFRow row7 = sheet.createRow(7);
row7.setHeightInPoints((float) 109.5);
HSSFRow row8 = sheet.createRow(8);
row8.setHeightInPoints((float) 36);
HSSFRow row9 = sheet.createRow(9);
row9.setHeightInPoints((float) 25);
HSSFRow row = null;
for(int i=0; i<ryds.rowCount(); i++){
row = sheet.createRow(10+i);
row.setHeightInPoints((float) 29.25);
}
HSSFRow rowbw = sheet.createRow(10+ryds.rowCount());
rowbw.setHeightInPoints((float) 16.5);
//先设置所有边框
HSSFCell cell = null;
HSSFCellStyle style_allBorder = wb.createCellStyle();
style_allBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style_allBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);
style_allBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);
style_allBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);
for(int i=0; i<=sheet.getLastRowNum(); i++){
row = sheet.getRow(i);
for(int j=0; j<8; j++){
cell = row.createCell(j);
if(i==0 || i==1 || i==sheet.getLastRowNum()){
//前两行是表头,没有边框;最后一行表尾没有
}else{
cell.setCellStyle(style_allBorder);//设置边框
}
}
}
//设置打印参数
sheet.setMargin(HSSFSheet.TopMargin,( double ) 0.91 ); // 上边距
sheet.setMargin(HSSFSheet.BottomMargin,( double ) 0.91 ); // 下边距
sheet.setMargin(HSSFSheet.LeftMargin,( double ) 0.78 ); // 左边距
sheet.setMargin(HSSFSheet.RightMargin,( double ) 0.78 ); // 右边距
sheet.setHorizontallyCenter(true);
//大标题样式
HSSFCellStyle style_bt = wb.createCellStyle(); // 样式对象
HSSFFont font_bt = wb.createFont();
font_bt.setFontName("微软雅黑");
font_bt.setFontHeightInPoints((short)22);
style_bt.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
style_bt.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style_bt.setFont(font_bt);
style_bt.setWrapText(true);//先设置为自动换行
style_bt.setBorderBottom(HSSFCellStyle.BORDER_NONE);
style_bt.setBorderTop(HSSFCellStyle.BORDER_NONE);
style_bt.setBorderRight(HSSFCellStyle.BORDER_NONE);
style_bt.setBorderLeft(HSSFCellStyle.BORDER_NONE);
//大标题
//HSSFRow row0 = sheet.createRow(0);
//row0.setHeightInPoints((float) 31.5);//行高
sheet.addMergedRegion(new CellRangeAddress(0,0,0,7));
cell = row0.getCell(0);
cell.setCellValue(new HSSFRichTextString("工作人员调配业务审批单"));
cell.setCellStyle(style_bt); // 样式
//年度序号样式
HSSFCellStyle style_ddxh = wb.createCellStyle(); // 样式对象
HSSFFont font_ddxh = wb.createFont();
font_ddxh.setFontName("微软雅黑");
font_ddxh.setFontHeightInPoints((short)10);
style_ddxh.setAlignment(HSSFCellStyle.ALIGN_RIGHT);//左右居右
style_ddxh.setVerticalAlignment(HSSFCellStyle.VERTICAL_BOTTOM);//上下居下
style_ddxh.setFont(font_ddxh);
style_ddxh.setWrapText(true);//先设置为自动换行
style_ddxh.setBorderBottom(HSSFCellStyle.BORDER_NONE);
style_ddxh.setBorderTop(HSSFCellStyle.BORDER_NONE);
style_ddxh.setBorderRight(HSSFCellStyle.BORDER_NONE);
style_ddxh.setBorderLeft(HSSFCellStyle.BORDER_NONE);
//年度序号
//HSSFRow row1 = sheet.createRow(1);
//row1.setHeightInPoints((float) 21.75);
sheet.addMergedRegion(new CellRangeAddress(1,1,0,7));
cell = row1.getCell(0);
cell.setCellValue(new HSSFRichTextString("〔"+nd+"〕"+ddxh+"号"));
cell.setCellStyle(style_ddxh); // 样式
// 表头的格式
HSSFCellStyle style_head = wb.createCellStyle(); // 样式对象
HSSFFont font_head = wb.createFont();
font_head.setFontName("黑体");
font_head.setFontHeightInPoints((short)14);
style_head.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
style_head.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style_head.setFont(font_head);
style_head.setWrapText(true);
style_head.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style_head.setBorderTop(HSSFCellStyle.BORDER_THIN);
style_head.setBorderRight(HSSFCellStyle.BORDER_THIN);
style_head.setBorderLeft(HSSFCellStyle.BORDER_THIN);
// 主要事由、备注注表头的格式
HSSFCellStyle style_sybz = wb.createCellStyle(); // 样式对象
HSSFFont font_sybz = wb.createFont();
font_sybz.setFontName("黑体");
font_sybz.setFontHeightInPoints((short)14);
style_sybz.setAlignment(HSSFCellStyle.ALIGN_LEFT);//左右居左
style_sybz.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style_sybz.setFont(font_sybz);
style_sybz.setWrapText(true);
style_sybz.setBorderBottom(HSSFCellStyle.BORDER_NONE);
style_sybz.setBorderTop(HSSFCellStyle.BORDER_THIN);
style_sybz.setBorderRight(HSSFCellStyle.BORDER_THIN);
style_sybz.setBorderLeft(HSSFCellStyle.BORDER_THIN);
// 主要是有备注内容的格式
HSSFCellStyle style_sybznr = wb.createCellStyle(); // 样式对象
HSSFFont font_sybznr = wb.createFont();
font_sybznr.setFontName("宋体");
font_sybznr.setFontHeightInPoints((short)11);
style_sybznr.setAlignment(HSSFCellStyle.ALIGN_LEFT);//左右居左
style_sybznr.setVerticalAlignment(HSSFCellStyle.VERTICAL_TOP);//上下居上
style_sybznr.setFont(font_sybznr);
style_sybznr.setWrapText(true);
style_sybznr.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style_sybznr.setBorderTop(HSSFCellStyle.BORDER_NONE);
style_sybznr.setBorderRight(HSSFCellStyle.BORDER_THIN);
style_sybznr.setBorderLeft(HSSFCellStyle.BORDER_THIN);
// 类别、方向、的格式
HSSFCellStyle style_fxlb = wb.createCellStyle(); // 样式对象
HSSFFont font_fxlb = wb.createFont();
font_fxlb.setFontName("宋体");
font_fxlb.setFontHeightInPoints((short)10);
style_fxlb.setAlignment(HSSFCellStyle.ALIGN_LEFT);//左右居左
style_fxlb.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style_fxlb.setFont(font_fxlb);
style_fxlb.setWrapText(true);
style_fxlb.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style_fxlb.setBorderTop(HSSFCellStyle.BORDER_THIN);
style_fxlb.setBorderRight(HSSFCellStyle.BORDER_THIN);
style_fxlb.setBorderLeft(HSSFCellStyle.BORDER_THIN);
// 意见的格式
HSSFCellStyle style_yj = wb.createCellStyle(); // 样式对象
HSSFFont font_yj = wb.createFont();
font_yj.setFontName("宋体");
font_yj.setFontHeightInPoints((short)11);
style_yj.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
style_yj.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style_yj.setFont(font_yj);
style_yj.setWrapText(true);
style_yj.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style_yj.setBorderTop(HSSFCellStyle.BORDER_THIN);
style_yj.setBorderRight(HSSFCellStyle.BORDER_THIN);
style_yj.setBorderLeft(HSSFCellStyle.BORDER_THIN);
// 掉出调入的表头的格式
HSSFCellStyle style_drdchead = wb.createCellStyle(); // 样式对象
HSSFFont font_drdchead = wb.createFont();
font_drdchead.setFontName("黑体");
font_drdchead.setFontHeightInPoints((short)12);
style_drdchead.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
style_drdchead.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style_drdchead.setFont(font_drdchead);
style_drdchead.setWrapText(true);
style_drdchead.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style_drdchead.setBorderTop(HSSFCellStyle.BORDER_THIN);
style_drdchead.setBorderRight(HSSFCellStyle.BORDER_THIN);
style_drdchead.setBorderLeft(HSSFCellStyle.BORDER_THIN);
// 掉出调入的格式
HSSFCellStyle style_drdc = wb.createCellStyle(); // 样式对象
HSSFFont font_drdc = wb.createFont();
font_drdc.setFontName("宋体");
font_drdc.setFontHeightInPoints((short)11);
style_drdc.setAlignment(HSSFCellStyle.ALIGN_LEFT);//左右居左
style_drdc.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style_drdc.setFont(font_drdc);
style_drdc.setWrapText(true);
style_drdc.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style_drdc.setBorderTop(HSSFCellStyle.BORDER_THIN);
style_drdc.setBorderRight(HSSFCellStyle.BORDER_THIN);
style_drdc.setBorderLeft(HSSFCellStyle.BORDER_THIN);
// 表尾的格式
HSSFCellStyle style_bw = wb.createCellStyle(); // 样式对象
HSSFFont font_bw = wb.createFont();
font_bw.setFontName("华文楷体");
font_bw.setFontHeightInPoints((short)11);
style_bw.setAlignment(HSSFCellStyle.ALIGN_RIGHT);//左右居右
style_bw.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style_bw.setFont(font_bw);
style_bw.setWrapText(true);
style_bw.setBorderBottom(HSSFCellStyle.BORDER_NONE);
style_bw.setBorderTop(HSSFCellStyle.BORDER_NONE);
style_bw.setBorderRight(HSSFCellStyle.BORDER_NONE);
style_bw.setBorderLeft(HSSFCellStyle.BORDER_NONE);
/**
* 类别
*/
cell = row2.getCell(0);
cell.setCellValue("类别");
cell.setCellStyle(style_head);
cell = row2.getCell(2);
cell.setCellValue(lb);
cell.setCellStyle(style_fxlb);
sheet.addMergedRegion(new CellRangeAddress(2,3,0,1));//类别head
sheet.addMergedRegion(new CellRangeAddress(2,3,2,3));//类别
cell = row2.getCell(4);
/**
* 方向
*/
cell.setCellValue("方向");
cell.setCellStyle(style_head);
cell = row2.getCell(5);
cell.setCellValue(fx);
cell.setCellStyle(style_fxlb);
sheet.addMergedRegion(new CellRangeAddress(2,3,4,4));//方向head
sheet.addMergedRegion(new CellRangeAddress(2,3,5,6));//方向
/**
* 部长意见
*/
cell = row4.getCell(0);
cell.setCellValue("部长意见");
cell.setCellStyle(style_head);
cell = row4.getCell(2);
cell.setCellValue(bzyj);
cell.setCellStyle(style_yj);
sheet.addMergedRegion(new CellRangeAddress(4,4,0,1));//部长意见head
sheet.addMergedRegion(new CellRangeAddress(4,4,2,6));//部长意见
/**
* 分管副部长意见
*/
cell = row5.getCell(0);
cell.setCellValue("分管副部长意见");
cell.setCellStyle(style_head);
cell = row5.getCell(2);
cell.setCellValue(fgfbzyj);
cell.setCellStyle(style_yj);
sheet.addMergedRegion(new CellRangeAddress(5,5,0,1));//分管副部长意见head
sheet.addMergedRegion(new CellRangeAddress(5,5,2,6));//分管副部长意见
/**
* 负责处室意见
*/
cell = row6.getCell(0);
cell.setCellValue("负责处室意见");
cell.setCellStyle(style_head);
cell = row6.getCell(2);
cell.setCellValue(fzcsyj);
cell.setCellStyle(style_yj);
sheet.addMergedRegion(new CellRangeAddress(6,7,0,1));//负责处室意见head
sheet.addMergedRegion(new CellRangeAddress(6,7,2,6));//负责处室意见意见
/**
* 主要事由
*
*/
cell = row2.getCell(7);
cell.setCellValue("主要事由:"); //主要事由head
cell.setCellStyle(style_sybz);
cell = row3.getCell(7);
cell.setCellValue(zysy); //主要事由
cell.setCellStyle(style_sybznr);
sheet.addMergedRegion(new CellRangeAddress(3,5,7,7));//主要事由
/**
* 备注
*/
cell = row6.getCell(7);
cell.setCellValue("备注:");
cell.setCellStyle(style_sybz);
cell = row7.getCell(7);
cell.setCellValue(bz);
cell.setCellStyle(style_sybznr);
/**
* 人员名单
*/
cell = row8.getCell(0);
cell.setCellValue("人员名单");
cell.setCellStyle(style_head);
sheet.addMergedRegion(new CellRangeAddress(8,8,0,7));
cell = row9.getCell(1);
cell.setCellValue("姓名");
cell.setCellStyle(style_drdchead);
cell = row9.getCell(3);
cell.setCellValue("原工作单位(职务/级别/岗位)");
cell.setCellStyle(style_drdchead);
cell = row9.getCell(7);
cell.setCellValue("去向");
cell.setCellStyle(style_drdchead);
sheet.addMergedRegion(new CellRangeAddress(9,9,1,2));//姓名
sheet.addMergedRegion(new CellRangeAddress(9,9,3,6));//原工作单位(职务/级别/岗位)
for(int i=0; i<ryds.rowCount(); i++){
row = sheet.getRow(10+i);
cell = row.getCell(0);
cell.setCellValue(i+1);
cell.setCellStyle(style_yj);
cell = row.getCell(1);
cell.setCellValue(ryds.getString(i, "xm"));
cell.setCellStyle(style_yj);
cell = row.getCell(3);
cell.setCellValue(ryds.getString(i, "ygzdw"));
cell.setCellStyle(style_drdc);
cell = row.getCell(7);
cell.setCellValue(ryds.getString(i, "qx"));
cell.setCellStyle(style_drdc);
sheet.addMergedRegion(new CellRangeAddress(10+i,10+i,1,2));//姓名
sheet.addMergedRegion(new CellRangeAddress(10+i,10+i,3,6));//原工作单位(职务/级别/岗位)
}
row = sheet.getRow(10+ryds.rowCount());
cell = row.getCell(0);
cell.setCellValue("济南高新区管委会人力资源管理部制");
cell.setCellStyle(style_bw);
sheet.addMergedRegion(new CellRangeAddress(10+ryds.rowCount(),10+ryds.rowCount(),0,7));
// FileOutputStream out;
// try {
// out = new FileOutputStream("C:/Users/xbx/Desktop/济南高新区管委会人力资源管理部制.xls");
// //ByteArrayOutputStream os = new ByteArrayOutputStream();
// //wb.write(os);
//// byte[] inBuff =os.toByteArray();
////
//// byte[] retDoc = OpenOfficeAPI.word2PDF(inBuff, OpenOfficeAPI.TYPE_XLS);
////
// wb.write(out);
// out.close();
// } catch (FileNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
return wb;
}
poi 生成excel 示例
猜你喜欢
转载自blog.csdn.net/xubenxismile/article/details/79139170
今日推荐
周排行