创建新Excel
// 创建新的Excel工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); // 在Excel工作簿中建一工作表,其名为缺省值 // 如要新建一名为"效益指标"的工作表,其语句为: // HSSFSheet sheet =workbook.createSheet("效益指标"); HSSFSheet sheet = workbook.createSheet();// 合并单元格,将第0行,从0列到10列合并 //sheet.addMergedRegion(newRegion(0, (short) 0, 0, (short) 10));//此方法已不推荐使用 sheet.addMergedRegion(new CellRangeAddress(0,0, 1, 4));// 推荐(起行,结行,起列,结列) // 在sheet索引0的位置创建行(最顶端的行) HSSFRow row = sheet.createRow(0); row.setHeight((short)400);//将row的行高设为40px //在row索引0的位置创建单元格(左上端) HSSFCell cell = row.createCell(0); // 定义单元格为字符串类型 cell.setCellType(HSSFCell.CELL_TYPE_STRING); // 在单元格中输入一些内容 cell.setCellValue("增加值"); // 新建一输出文件流File file = new File(String fileUrlName); FileOutputStream fOut = newFileOutputStream(file); // 把相应的Excel工作簿存盘 workbook.write(fOut); fOut.flush(); // 操作结束,关闭文件 fOut.close();
###########################################################################################
Excel单元格样式
创建红色、粗体字体
HSSFFont font = workbook.createFont(); font.setColor(HSSFFont.COLOR_RED); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
创建格式,将字体应用到格式
HSSFCellStyle cellStyle=workbook.createCellStyle(); cellStyle.setFont(font);
3、应用格式
HSSFCell cell = row.createCell((short) 0); cell.setCellStyle(cellStyle); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue("标题 ");
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:
先获取工作薄对象:
HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder =wb.createCellStyle();
一、设置背景色:
setBorder.setFillForegroundColor((short)13);// 设置背景色 setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
二、设置边框:
setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN);//下边框 setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框 setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框 setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
三、设置居中:
setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平居中 setBorder.setAlignment(HSSFCellStyle.VERTICAL_CENTER); //垂直居中
四、设置字体:
HSSFFont font = wb.createFont();font.setFontName("黑体");font.setFontHeightInPoints((short) 16);//设置字体大小 font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示 setBorder.setFont(font);//选择需要用到的字体格式
五、设置列宽:
//第一个参数代表列id(从0开始),第2个参数代表宽度值参考:"2012-08-10"的宽度为2500 sheet.setColumnWidth(0,3766);
六、设置自动换行:
setBorder.setWrapText(true);//设置自动换行
七、合并单元格:
//参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号 sheet.addMergedRegion (new Region(0,(short)1,0,(short) 2));//不推荐使用 sheet.addMergedRegion(new CellRangeAddress(0,0,0,4));//推荐使用(起行,结行,起列,结列)
八、row的一些方法
1、设置行高
row.setHeight((short)400);