欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java通過cellstyle屬性設(shè)置Excel單元格常用樣式的全面總結(jié)講解

 更新時間:2024年01月26日 09:06:50   作者:mmm.c  
在處理Excel文件時,經(jīng)常需要對單元格進行樣式設(shè)置,以滿足特定的需求和美化要求,這篇文章主要給大家介紹了關(guān)于Java通過cellstyle屬性設(shè)置Excel單元格常用樣式的相關(guān)資料,需要的朋友可以參考下

前言

最近做了一個導(dǎo)出Excel的功能,導(dǎo)出是個常規(guī)導(dǎo)出,但是拿來模板一看,有一些單元格的樣式設(shè)置,包括合并,背景色,字體等等,畢竟不是常用的東西,需要查閱資料完成,但是搜遍全網(wǎng)沒有一個全面的,工作完成后,我便總結(jié)了一下,能夠應(yīng)對日常開發(fā)使用的Excel樣式設(shè)置屬性。

這里重點總結(jié)生成Excel中對單元格的樣式設(shè)置,不講解如何導(dǎo)出Excel,基本導(dǎo)出很容易。

直接上代碼,按照注釋來看依次是:

首先創(chuàng)建一個工作薄

下面所有的操作都是對這個style對象來設(shè)置的。

        // 創(chuàng)建excel工作簿
        SXSSFWorkbook wb = new SXSSFWorkbook(getXSSFWorkbook(examPath), 1000);
        //獲取樣式
        CellStyle style = wb.createCellStyle();

1.設(shè)置單元格對齊,屬性使用參照注解

 
                //1、先設(shè)置單元格對齊方式
                //水平對齊,一般對齊方式。文本數(shù)據(jù)左對齊。數(shù)字、日期和時間是正確對齊的。布爾類型居中。
                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.設(shè)置單元格垂直對齊,參考注解

//2.此枚舉值指示單元格的垂直對齊類型,即:
                //垂直居中對齊
                style.setVerticalAlignment(VerticalAlignment.CENTER);
                //頂部對齊
                style.setVerticalAlignment(VerticalAlignment.TOP);
                //底部對齊
                style.setVerticalAlignment(VerticalAlignment.BOTTOM);
                //對齊。
                style.setVerticalAlignment(VerticalAlignment.JUSTIFY);
                //分布。
                style.setVerticalAlignment(VerticalAlignment.DISTRIBUTED);
 

3.設(shè)置背景色

 
         //3.設(shè)置背景色
         style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
          //必須設(shè)置 否則背景色不生效
         style.setFillPattern(FillPatternType.SOLID_FOREGROUND);

背景色的IndexedColors類中屬性對應(yīng)的具體顏色如下所示:

(1)枚舉值對應(yīng)的顏色

(2)色卡名稱對應(yīng)的顏色

 GREY_80_PERCENTINDIGO

PLUM                           BROWN

OLIVE_GREEN            DARK_GREEN

SEA_GREEN              DARK_TEAL

GREY_40_PERCENT  BLUE_GREY

ORANGE                    LIGHT_ORANGE

GOLD                        LIME

AQUA                       LIGHT_BLUE

TAN                        LAVENDER

ROSE                    PALE_BLUE

LIGHT_YELLOW           LIGHT_GREEN

LIGHT_TURQUOISE        SKY_BLUE

BLUE                               DARK_RED

VIOLET                          TURQUOISE

YELLOW                       PINK

DARK_BLUE   LIGHT_CORNFLOWER_BLUE

ROYAL_BLUE                         CORAL

ORCHID                         LIGHT_TURQUOISE

LEMON_CHIFFON           PLUM

CORNFLOWER_BLUE   GREY_50_PERCENT

GREY_25_PERCENT            TEAL

VIOLET                     DARK_YELLOW

DARK_BLUE                      GREEN

DARK_RED                    TURQUOISE

PINK                           YELLOW

BLUE                   BRIGHT_GREEN

RED                      WHITE

BLACK

4.設(shè)置字體有關(guān)樣式

基本涵蓋了Excel中對文字常用的操作行為

 //4.設(shè)置字體樣式
                Font titleFont = wb.createFont();
//                設(shè)置字體的名稱(例如Arial)
                titleFont.setFontName("宋體");
//                以1/20點為單位設(shè)置字體高度。
                titleFont.setFontHeight((short) 10);
//                設(shè)置是否使用斜體
                titleFont.setItalic(true);
//                設(shè)置是否在文本中使用刪除線橫線
                titleFont.setStrikeout(true);
                //顏色設(shè)置
                titleFont.setColor((short) 111);
//                設(shè)置普通、上標或下標。
                titleFont.setTypeOffset((short) 5);
                //下劃線
                titleFont.setUnderline((byte) 0000);
//                是否加粗
                titleFont.setBold(true);
//                設(shè)置字體高度
                titleFont.setFontHeightInPoints((short) 12);
                style.setFont(titleFont);

5.邊框設(shè)置

//5.邊框設(shè)置
                style.setBorderBottom(BorderStyle.THIN);
                style.setBorderLeft(BorderStyle.THIN);
                style.setBorderTop(BorderStyle.THIN);
                style.setBorderRight(BorderStyle.THIN);

6.單元格合并操作

合并單元格使用的是CellRangeAddress函數(shù),該函數(shù)源碼在下面,可以清晰看到輸入?yún)?shù)代表什么怎么用,簡單解釋一下就是

X:起始行  Y:結(jié)束行  a:起始列   b:結(jié)束列

這樣就清晰的畫出了一個合并范圍。

 // 6.合并單元格
 SXSSFSheet sheet = wb.createSheet("測試sheet");
 sheet.addMergedRegion(new CellRangeAddress(X, Y, a, b));
//設(shè)置單元格寬度 ,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);
		}
	}

總結(jié)

到此這篇關(guān)于Java通過cellstyle屬性設(shè)置Excel單元格常用樣式的文章就介紹到這了,更多相關(guān)Java設(shè)置Excel單元格常用樣式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot~ObjectMapper~dto到entity的自動賦值

    springboot~ObjectMapper~dto到entity的自動賦值

    這篇文章主要介紹了springboot~ObjectMapper~dto到entity的自動賦值,本文分三種情況給大家介紹,需要的朋友可以參考下
    2018-08-08
  • 詳解Spring cloud使用Ribbon進行Restful請求

    詳解Spring cloud使用Ribbon進行Restful請求

    這篇文章主要介紹了詳解Spring cloud使用Ribbon進行Restful請求,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 利用Java實現(xiàn)輕松解析DNS報文

    利用Java實現(xiàn)輕松解析DNS報文

    這篇文章主要為大家詳細介紹了如何利用Java實現(xiàn)輕松解析DNS報文,文中的示例代碼講解詳細,具有一定的學(xué)習價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-11-11
  • java必學(xué)必會之equals方法

    java必學(xué)必會之equals方法

    java必學(xué)必會之equals方法,equals方法是 java.lang.Object 類的方法,想要了解更多關(guān)于equals方法的朋友,可以參考下文
    2015-12-12
  • Java使用JDBC連接數(shù)據(jù)庫

    Java使用JDBC連接數(shù)據(jù)庫

    本文詳細講解了Java使用JDBC連接數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • 如何查看java進程內(nèi)存占用情況

    如何查看java進程內(nèi)存占用情況

    這篇文章主要介紹了如何查看java進程內(nèi)存占用情況問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • ELK搭建線上日志收集系統(tǒng)

    ELK搭建線上日志收集系統(tǒng)

    ELK日志收集系統(tǒng)進階使用,本文主要講解如何打造一個線上環(huán)境真實可用的日志收集系統(tǒng),有了它,你就可以和去服務(wù)器上撈日志說再見了
    2022-07-07
  • Spring Boot整合Spring Security的示例代碼

    Spring Boot整合Spring Security的示例代碼

    這篇文章主要介紹了Spring Boot整合Spring Security的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • springboot2?使用activiti6?idea插件的過程詳解

    springboot2?使用activiti6?idea插件的過程詳解

    這篇文章主要介紹了springboot2?使用activiti6?idea插件,本文通過截圖實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Java8中stream流的collectingAndThen方法應(yīng)用實例詳解

    Java8中stream流的collectingAndThen方法應(yīng)用實例詳解

    Java8中的Stream流提供了collectingAndThen方法,用于對歸納結(jié)果進行二次處理,文章通過User類的數(shù)據(jù)填充,演示了如何使用該方法進行集合去重、查找最高工資員工、計算平均工資等操作,感興趣的朋友跟隨小編一起看看吧
    2025-03-03

最新評論