poi 创建Excel



// 创建新的Excel工作簿
HSSFWorkbook workbook =  new  HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值
// 如要新建一名为"Test"的工作表,其语句为:
// HSSFSheet sheet =workbook.createSheet("Test");
HSSFSheet sheet = workbook.createSheet(); // 合并单元格,将第0行,从0列到10列合并 
sheet.addMergedRegion( new   CellRangeAddress( 0 , 0 1 , 5 )); // 推荐(起行,结行,起列,结列)
// 在sheet索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow( 0 );
row.setHeight(( short ) 600 ); //将row的行高设为60px
//在row索引0的位置创建单元格(左上端)
HSSFCell cell = row.createCell( 0 );
// 定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在单元格中输入一些内容
cell.setCellValue( "值" );

// 建立輸出流
FileOutputStream fOut = newFileOutputStream(file);

// 將工作簿內容輸出到文件流中
workbook.write(fOut);
//釋放
fOut.flush();
// 操作结束,关闭文件
fOut.close();





Excel单元格样式

创建红色、粗体字体

1
2
3
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

创建格式,将字体应用到格式

1
2
HSSFCellStyle cellStyle=workbook.createCellStyle();
cellStyle.setFont(font);

3、应用格式

1
2
3
4
HSSFCell cell = row.createCell(( short 0 );
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue( "标题 " );

POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:

先获取工作薄对象:

1
2
3
HSSFWorkbook wb =  new  HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle setBorder =wb.createCellStyle();

一、设置背景色:

1
2
setBorder.setFillForegroundColor(( short ) 13 ); // 设置背景色
setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

二、设置边框:

1
2
3
4
setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN); //左边框
setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN); //上边框
setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN); //右边框

三、设置居中:

1
2
setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平居中
setBorder.setAlignment(HSSFCellStyle.VERTICAL_CENTER);   //垂直居中

四、设置字体:

1
2
3
HSSFFont font = wb.createFont();font.setFontName( "黑体" );font.setFontHeightInPoints(( short 16 ); //设置字体大小
font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //粗体显示
setBorder.setFont(font); //选择需要用到的字体格式

五、设置列宽:

1
2
//第一个参数代表列id(从0开始),第2个参数代表宽度值参考:"2012-08-10"的宽度为2500
sheet.setColumnWidth( 0 , 3766 );

六、设置自动换行:

1
setBorder.setWrapText( true ); //设置自动换行

七、合并单元格:

1
2
3
//参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号
sheet.addMergedRegion ( new  Region( 0 ,( short ) 1 , 0 ,( short 2 )); //不推荐使用
sheet.addMergedRegion( new  CellRangeAddress( 0 , 0 , 0 , 4 )); //推荐使用(起行,结行,起列,结列)

八、row的一些方法

1、设置行高

1
row.setHeight(( short ) 400 );


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值