poi 创建Excel

来源:互联网 发布:土行孙软件 编辑:程序博客网 时间:2024/05/16 14:48


// 创建新的Excel工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值
// 如要新建一名为"Test"的工作表,其语句为:
// HSSFSheet sheet =workbook.createSheet("Test");
HSSFSheet sheet = workbook.createSheet();// 合并单元格,将第0行,从0列到10列合并 
sheet.addMergedRegion(new CellRangeAddress(0,01,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((short0);
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((short16);//设置字体大小
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,(short2));//不推荐使用
sheet.addMergedRegion(new CellRangeAddress(0,0,0,4));//推荐使用(起行,结行,起列,结列)

八、row的一些方法

1、设置行高

1
row.setHeight((short)400);


本文轉自  http://zerohou.blog.51cto.com/3019528/1615183
0 0
原创粉丝点击