开发者

Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

目录
  • 前言
  • 首先创建一个工作薄
  • 1.设置单元格对齐,属性使用参照注解
  • 2.设置单元格垂直对齐,参考注解
  • 3.设置背景色
    • (1)枚举值对应的颜色
    • (2)色卡名称对应的颜色
  • 4.设置字体有关样式
    • 5.边框设置
      • 6.单元格合并操作
        • 总结

          前言编程客栈

          最近做了一个导出Excel的功能,导出是个常规导出,但是拿来模板一看,有一些单元格的样式设置,包括合并,背景色,字体等等,毕竟不是常用的东西,需要查阅资料完成,但是搜遍全网没有一个全面的,工作完成后,我便总结了一下,能够应对日常开发使用的Excel样式设置属性。

          这里重点总结生成Excel中对单元格的样式设置,不讲解如何导出Excel,基本导出很容易。

          直接上代码,按照注释来看依次是:

          首先创建一个工作薄

          下面所有的操作都是对这个style对象来设置的。

                  // 创建excel工作簿
                  SXSSFWorkbook wb = new SXSSFWorkbook(getXSSFWorkbook(examPath), 1000);
                  //获取样式
                  CellStyle style = wb.createCellStyle();

          1.设置单元格对齐,属性使用参照注解

           
                          //1、先设置单元格对齐方式
                          //水平对齐,一般对齐方式。文本数据左对齐。数字、日期和时间是正确对齐的。布尔类型居中。
                          style.setAlignment(HorizontalAlignment.GENERAL);
                          //靠左
                          style.setAlignment(HorizontalAlignment.LEFT);
          //                靠右
                          style.setAlignment(HorizontalAlignment.RIGHT);
          //                居中
                          style.setAlignment(HorizontalAlignment.CENTER);
          //               填充单元格的值,跨越单元格的整个宽度
                          style.setAlignment(HorizontalAlignment.FILL);
          //                水平对齐对齐(左右齐平)。对于每行文本,将单元格中换行文本的每行左右对齐
                          style.setAlignment(HorizontalAlignment.JUSTIFY);
          //                水平对齐在多个单元格中居中
                          style.setAlignment(HorizontalAlignment.CENTER_SELECTION);
                          //平铺。表示单元格中每行文本中的text均匀分布.跨越单元格的宽度,左右外边距齐平。
                          style.setAlignment(HorizontalAlignment.DISTRIBUTED);

          2.设置单元格垂直对齐,参考注解

          //2.此枚举值指示单元格的垂直对齐类型,即:
                          //垂直居中对齐
                        php  style.setVerticalAlignment(VerticalAlignment.CENTER);
                          //顶部对齐
                          style.setVerticalAlignment(VerticalAlignment.TOP);
                          //底部对齐
                          style.setVerticalAlignment(VerticalAlignment.BOTTOM);
                          //对齐。
                          style.setVerticalAlignment(VerticalAlignment.JUSTIFY);
                          //分布。
                          style.setVerticalAlignment(VerticalAlignment.DISTRIBUTED);
           

          3.设置背景色

           
                   //3.设置背景色
                   style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
                    //必须设置 否则背景色不生效
                   style.setFillPattern(FillPatternType.SOLID_FOREGROUND);

          背景色的IndexedColors类中属性对应的具体颜色如下所示:

          (1)枚举值对应的颜色

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          (2)色卡名称对应的颜色

           

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          GREY_80_PERCENT

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          INDIGO

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          PLUM                           

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          BROWN

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          OLIVE_GREEN            

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          DARK_GREEN

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          SEA_GREEN              

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          DARK_TEAL

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          GREY_40_PERCENT  

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          BLUE_GREY

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          ORANGE                    

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LIGHT_ORANGE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          GOLD                        

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LIME

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          AQUA                       

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LIGHT_BLUE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          TAN                        

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LAVENDER

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          ROSE                    

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          PALE_BLUE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LIGHT_YELLOW           

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LIGHT_GREEN

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LIGHT_TURQUOISE        

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          SKY_BLUE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          BLUE                               

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          DARK_RED

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          VIOLET                          

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          TURQUOISE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          YELLOW                       

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          PINK

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          DARK_BLUE   

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LIGHT_CORNFLOWER_BLUE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          ROYAL_BLUE                         

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          CORAL

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          ORCHID                         

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LIGHT_TURQUOISE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          LEMON_CHIFFON           

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          PLUM

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          CORNFLOWER_BLUE   

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          GREY_50_PERCENT

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          GREY_25_PERCENT            

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          TEAL

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          VIOLET                     

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          DARK_YELLOW

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          DARK_BLUE                      

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          GREEN

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          DARK_RED                    

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          TURQUOISE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          PINK                           

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          YELLOW

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          BLUE                   

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          BRIGHTphp_GREEN

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          RED                      

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          WHITE

          Java通过cellstyle属性设置Excel单元格常用样式的全面总结讲解

          BLACK

          4.设置字体有关样式

          基本涵盖了Excel中对文字常用的操作行为

           //4.设置字体样式
                          Font titleFont = wb.createFont();
          //                设置字体的名称(例如Arial)
                          titleFont.setFontName("宋体");
          //                以1/20点为单位设置字体高度。
                          titleFont.setFontHeight((short) 10);
          //                设置是否使用斜体
                          titleFont.setItalic(true);
          //                设置是否在文本中使用删除线横线
                          titleFont.setStrikeout(true);
                          //颜色设置
                          titleFont.setColor((short) 111);
          //               www.devze.com 设置普通、上标或下标。
                          titleFont.setTypeOffset((short) 5);
                          //下划线
                          titleFont.setUnderline((byte) 0000);
          //                是否加粗
                          titleFont.setBold(true);
          //                设置字体高度
                          titleFont.setFontHeightInPoints((short) 12);
                          style.setFont(titleFont);

          5.边框设python

          //5.边框设置
                          style.setBorderBottom(BorderStyle.THIN);
                          style.setBorderLeft(BorderStyle.THIN);
                          style.setBorderTop(BorderStyle.THIN);
                          style.setBorderRight(BorderStyle.THIN);

          6.单元格合并操作

          合并单元格使用的是CellRangeAddress函数,该函数源码在下面,可以清晰看到输入参数代表什么怎么用,简单解释一下就是

          X:起始行  Y:结束行  a:起始列   b:结束列

          这样就清晰的画出了一个合并范围。

           // 6.合并单元格
           SXSSFSheet sheet = wb.createSheet("测试sheet");
           sheet.addMergedRegion(new CellRangeAddress(X, Y, a, b));
          //设置单元格宽度 ,X代表第几列
           sheet.setColumnWidth(X, 20 * 260);
          public CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol) {
          		super(firstRow, lastRow, firstCol, lastCol);
          		
          		if (lastRow < firstRow || lastCol < firstCol) {
          			throw new IllegalArgumentException("Invalid cell range, having lastRow < firstRow || lastCol < firstCol, " +
          					"had rows " + lastRow + " >= " + firstRow + " or cells " + lastCol + " >= " + firstCol);
          		}
          	}

          总结

          到此这篇关于Java通过cellstyle属性设置Excel单元格常用样式的文章就介绍到这了,更多相关Java设置Excel单元格常用样式内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

          0

          上一篇:

          下一篇:

          精彩评论

          暂无评论...
          验证码 换一张
          取 消

          最新开发

          开发排行榜