您的位置:首页 > 编程语言 > Java开发

java 生成excel

2015-07-14 16:32 567 查看
//** **********创建工作簿************ */

WritableWorkbook workbook = Workbook.createWorkbook(new File("d:/test.xls"));

/** *//** **********创建工作表************ */

WritableSheet sheet = workbook.createSheet("工作表名称", 0);

/** *//** *********设置列宽**************** */

sheet.setColumnView(0, 15); // 第1列

sheet.setColumnView(1, 18); // 第2列

// 设置行高

sheet.setRowView( 0 , 600 , false );

sheet.setRowView( 1 , 400 , false );

// 设置页边距

sheet.getSettings().setRightMargin( 0.5 );

// 设置页脚

sheet.setFooter( "" , "" , " 测试页脚 " );

/** */ /** ************设置单元格字体************** */

// 字体

WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10 );

WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 14 ,

WritableFont.BOLD);

WritableFont tableFont = new WritableFont(WritableFont.ARIAL, 12 ,

WritableFont.NO_BOLD);

WritableFont baodanFont = new WritableFont(WritableFont.ARIAL, 10 ,

WritableFont.BOLD);

/** */ /** ************以下设置几种格式的单元格************ */

// 用于标题

WritableCellFormat wcf_title = new WritableCellFormat(BoldFont);

wcf_title.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条

wcf_title.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐

wcf_title.setAlignment(Alignment.CENTRE); // 水平对齐

wcf_title.setWrap( true ); // 是否换行

// 用于表格标题

WritableCellFormat wcf_tabletitle = new WritableCellFormat(

tableFont);

wcf_tabletitle.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条

wcf_tabletitle.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐

wcf_tabletitle.setAlignment(Alignment.CENTRE); // 水平对齐

wcf_tabletitle.setWrap( true ); // 是否换行

// 用于正文左

WritableCellFormat wcf_left = new WritableCellFormat(NormalFont);

wcf_left.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条

wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐

wcf_left.setAlignment(Alignment.LEFT);

wcf_left.setWrap( true ); // 是否换行

// 用于正文左

WritableCellFormat wcf_center = new WritableCellFormat(NormalFont);

wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条

wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐

wcf_center.setAlignment(Alignment.CENTRE);

wcf_center.setWrap( true ); // 是否换行

// 用于正文右

WritableCellFormat wcf_right = new WritableCellFormat(NormalFont);

wcf_right.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条

wcf_right.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐

wcf_right.setAlignment(Alignment.RIGHT);

wcf_right.setWrap( false ); // 是否换行

// 用于跨行

WritableCellFormat wcf_merge = new WritableCellFormat(NormalFont);

wcf_merge.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条

wcf_merge.setVerticalAlignment(VerticalAlignment.TOP); // 垂直对齐

wcf_merge.setAlignment(Alignment.LEFT);

wcf_merge.setWrap( true ); // 是否换行

WritableCellFormat wcf_table = new WritableCellFormat(NormalFont);

wcf_table.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条

wcf_table.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐

wcf_table.setAlignment(Alignment.CENTRE);

wcf_table.setBackground(Colour.GRAY_25);

wcf_table.setWrap( true ); // 是否换行

/** */ /** ************单元格格式设置完成****************** */

// 合并单元格,注意mergeCells(col0,row0,col1,row1) --列从0开始,col1为你要合并到第几列,行也一样

sheet.mergeCells( 0 , 0 , 5 , 0 );

sheet.addCell( new Label( 0 , 0 , " 这里是大标题,自定义格式 " ,

wcf_title));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: