hssfrow 单元格样式_POI设置Excel单元格样式

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

先获取工作薄对象:

HSSFWorkbook wb = new HSSFWorkbook();

HSSFSheet sheet = wb.createSheet();

HSSFCellStyle cellStyle = wb.createCellStyle();

一、设置背景色:

cellStyle.setFillForegroundColor((short) 13);// 设置背景色

cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

二、设置边框:

cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框

cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框

cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框

cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框//设置单元格边框颜色

cellStyle.setBottomBorderColor(HSSFColor.RED.index);

cellStyle.setTopBorderColor(HSSFColor.GREEN.index);

cellStyle.setLeftBorderColor(HSSFColor.BLUE.index);

设置单元格边框样式

CellStyle.BORDER_DOUBLE 双边线

CellStyle.BORDER_THIN 细边线

CellStyle.BORDER_MEDIUM 中等边线

CellStyle.BORDER_DASHED 虚线边线

CellStyle.BORDER_HAIR 小圆点虚线边线

CellStyle.BORDER_THICK 粗边线

三、设置居中:

cellStyle.setAlignment(CellStyle.ALIGN_CENTER);//水平居中

cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);//垂直居中

//设置单元格内容水平对其方式//HSSFCellStyle.ALIGN_CENTER 居中对齐//HSSFCellStyle.ALIGN_LEFT 左对齐//HSSFCellStyle.ALIGN_RIGHT 右对齐//设置单元格内容垂直对其方式//HSSFCellStyle.VERTICAL_TOP 上对齐//HSSFCellStyle.VERTICAL_CENTER 中对齐//HSSFCellStyle.VERTICAL_BOTTOM 下对齐

四、设置字体:

HSSFFont font =wb.createFont();

font.setFontName("黑体");

font.setFontHeightInPoints((short) 13);//设置字体大小font.setItalic(true); //设置字体为斜体字

font.setColor(Font.COLOR_RED); //将字体设置为“红色”font.setUnderline(Font.U_DOUBLE);//添加(Font.U_SINGLE单条下划线/Font.U_DOUBLE双条下划线)//font.setStrikeout(true);//是否添加删除线

HSSFFont font2=wb.createFont();

font2.setFontName("宋体");

font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示

font2.setFontHeightInPoints((short) 12);

cellStyle.setFont(font);//选择需要用到的字体格式

五、设置整列的样式

sheet.setDefaultColumnStyle(short column, CellStyle style)

六、设置自动换行:

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

七、合并单元格:

//参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号

Region region1 = new Region(0, (short) 0, 0, (short) 6);//此方法在POI3.8中已经被废弃,建议使用下面一个

注意导入的jar包:import org.apache.poi.ss.util.CellRangeAddress//参数1:起始行 参数2:终止行 参数3:起始列号 参数4:终止列号

CellRangeAddress region1 = new CellRangeAddress(rowNumber, rowNumber, (short) 0, (short) 11);

sheet.addMergedRegion(region1);

八、设置行的高度

在Excel中,每一行的高度是要求一致的,所以设置单元格的高度,其实就是设置行的高度,所以相关的属性也应该在HSSFRow上,它就是HSSFRow.Height和HeightInPoints,这两个属性的区别在于HeightInPoints的单位是点,而Height的单位是1/20个点,所以Height的值永远是HeightInPoints的20倍。

Row sizeRow = sheet.createRow(6);

sizeRow.setHeightInPoints(30); //设置行的高度

//或者sizeRow.setHeight((short) (40*20)); // 设置行的高度

九、设置和读取列宽

SetColumnWidth的第二个参数要乘以256,这是怎么回事呢?其实,这个参数的单位是1/256个字符宽度,也就是说,这里是把B列的宽度设置为了100个字符。

//第一个参数代表列id(从0开始),第2个参数代表宽度值

sheet.setColumnWidth(0, 100*256);//读取列宽

int col1width = sheet1.GetColumnWidth(1);//参数列的序号

十、设置默认的列宽和行高

一旦设置了这些属性,如果某一行或者某一列没有设置宽度,就会使用默认宽度或高度。

//设置默认列宽和行高

sheet.setDefaultColumnWidth(25);//sheet.setDefaultRowHeight((short) (40*20));

sheet.setDefaultRowHeightInPoints(20);

工具方法:

//设置列宽()

public static void setColumnWidth(HSSFSheet sheet, intcolNum) {for (int i = 0; i < colNum; i++) {int v = 0;v= Math.round(Float.parseFloat("20.0") * 267.5F);

sheet.setColumnWidth(i, v);

}

}

//设置行的字体和样式

public voidsetCellStyle(HSSFWorkbook workbook,HSSFCell cell){//设置样式

HSSFCellStyle cellStyle =workbook.createCellStyle();//设置字体居中

cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置字体

HSSFFont font =workbook.createFont();

font.setFontName("宋体");

font.setFontHeightInPoints((short) 13);

cellStyle.setFont(font);

cell.setCellStyle(cellStyle);

}

参考:

POI的API:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我了解你的问题。如果你想要使用POI设置单元格样式,可以按照以下步骤进行: 1. 创建一个单元格样式对象:使用工作簿对象的createCellStyle()方法创建一个CellStyle对象。 2. 设置单元格样式:使用CellStyle对象的各种方法设置单元格样式,例如setFont()、setAlignment()、setBorder()等等。 3. 将样式应用到单元格:使用单元格对象的setCellStyle()方法将样式应用到单元格上。 下面是一个示例代码: ``` Workbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("Sheet1"); Row row = sheet.createRow(0); Cell cell = row.createCell(0); // 创建单元格样式对象 CellStyle style = wb.createCellStyle(); // 设置单元格样式 Font font = wb.createFont(); font.setFontName("Arial"); font.setFontHeightInPoints((short) 16); font.setBold(true); style.setFont(font); style.setAlignment(HorizontalAlignment.CENTER); style.setVerticalAlignment(VerticalAlignment.CENTER); style.setBorderBottom(BorderStyle.THIN); style.setBottomBorderColor(IndexedColors.BLACK.getIndex()); style.setBorderLeft(BorderStyle.THIN); style.setLeftBorderColor(IndexedColors.GREEN.getIndex()); // 将样式应用到单元格 cell.setCellValue("Hello, World!"); cell.setCellStyle(style); // 保存工作簿 FileOutputStream fileOut = new FileOutputStream("workbook.xlsx"); wb.write(fileOut); fileOut.close(); ``` 这段代码演示了如何使用POI创建一个单元格样式对象,并将其应用到单元格上。你可以根据自己的需要设置单元格样式的各种属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值