POI Excel 10_之工具类函数,移动Sheet中Row位置,设置工作簿Sheet选中
@author YHC
便利函数:
这些便利函数将提供实用的程序功能,比如设置表格边框合并区域,和改变样式属性,而非重新创建一个新的样式:
// 创建Excel Workbook wb = new HSSFWorkbook(); // 或者创建 new XSSFWorkbook() // 创建工作簿 Sheet sheet1 = wb.createSheet("new sheet"); // 创建一个合并的区域 // 创建行 Row row = sheet1.createRow(1); // 创建行 Row row2 = sheet1.createRow(2); // 创建单元格 Cell cell = row.createCell(1); // 设置单元格值 cell.setCellValue("This is a test of merging"); // 创建一个合并区域 CellRangeAddress region = CellRangeAddress.valueOf("B2:E5"); // 添加一个合并的区域到工作簿中 sheet1.addMergedRegion(region); // 设置单元格边框和颜色 final short borderMediumDashed = CellStyle.BORDER_MEDIUM_DASHED; // 下边框border RegionUtil.setBorderBottom(borderMediumDashed, region, sheet1, wb); // 上边框border RegionUtil.setBorderTop(borderMediumDashed, region, sheet1, wb); // 左边框border RegionUtil.setBorderLeft(borderMediumDashed, region, sheet1, wb); // 右边框border RegionUtil.setBorderRight(borderMediumDashed, region, sheet1, wb); // 下边框颜色 RegionUtil.setBottomBorderColor(IndexedColors.AQUA.getIndex(), region, sheet1, wb); // 上边框颜色 RegionUtil.setTopBorderColor(IndexedColors.AQUA.getIndex(), region, sheet1, wb); // 左边框颜色 RegionUtil.setLeftBorderColor(IndexedColors.AQUA.getIndex(), region, sheet1, wb); // 右边框颜色 RegionUtil.setRightBorderColor(IndexedColors.AQUA.getIndex(), region, sheet1, wb); // 展示一些CellUtil工具类的用途 CellStyle style = wb.createCellStyle(); // 设置缩进 style.setIndention((short) 4); // 创建单元格,指定值,以及样式 CellUtil.createCell(sheet1.createRow(7), 1, "This is the value of the cell", style); // 创建第二个单元格,并指定值 Cell cell2 = CellUtil.createCell(sheet1.createRow(8), 1, "This is the value of the cell"); // 设置单元格水平居中样式 CellUtil.setAlignment(cell2, wb, CellStyle.ALIGN_CENTER); // 写入文件 FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();运行后效果图:
移动工作簿中的(Sheet)行(Row)位置
// 创建Excel Workbook wb = new HSSFWorkbook(); // 或者创建 new XSSFWorkbook() // 创建工作簿 Sheet sheet = wb.createSheet("row sheet"); // 按照顺序创建单元格 for(int i=0;i<11;i++){ Row row=sheet.createRow(i); Cell cell=row.createCell(0); cell.setCellValue(i); } //移动行6-11到工作簿的顶部的0-5 ,注意会覆盖0-5 sheet.shiftRows(5, 10, -5); // 写入文件 FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();移动之前和之后的对比:之前的时候 注意:======>>>>>是将移动的那行代码注释的
设置工作簿选中
Workbook wb = new HSSFWorkbook(); //创建工作簿 Sheet sheet = wb.createSheet("row sheet"); //设置选中 sheet.setSelected(true);
以上如果有写错误的地方,还请大家指出!thanks!