poi3 17版本生成excel的樣式設定文件

2021-09-03 07:12:44 字數 2694 閱讀 9733

hssfworkbook workbook = new hssfworkbook(); //建立工作簿 

hssfsheet sheet = workbook.createsheet(「test」); //建立sheet頁 

hssfrow row = sheet.createrow(0); //建立行,從0開始 

hssfcell cell = row.createcell(0);//建立列,從0開始 

cell.setcellvalue(「姓名」);

設定樣式

hssfcellstyle style = workbook.createcellstyle();

加邊框

style.setborderbottom(borderstyle.thin);//下邊框 

style.setborderleft(borderstyle.thin);//左邊框 

style.setborderright(borderstyle.thin);//右邊框 

style.setbordertop(borderstyle.thin); //上邊框

居中

style.setalignment(horizontalalignment.center);//水平居中 、居左left、居右right

style.setverticalalignment(verticalalignment.center);//垂直居中、居上top、居下button

設定字型

hssffont font = workbook.createfont(); 

font.setfontname(「華文行楷」);//設定字型名稱 

font.setfontheightinpoints((short)28);//設定字型大小 

font.setitalic(false);//設定是否為斜體 

font.setbold(true);//設定是否加粗 

font.setcolor(indexedcolors.red.index);//設定字型顏色 

style.setfont(font);

設定匯出之後單元格資料帶小數點後兩位

style.setdataformat(hssfdataformat.getbuiltinformat("0.00"));

設定背景

style.setfillpattern(fillpatterntype.solid_foreground); 

style.setfillforegroundcolor(indexedcolors.yellow.index);

設定寬度和高度

row.setheightinpoints(30);//設定行的高度 

sheet.setcolumnwidth(0, 20 * 256);//設定列的寬度

設定豎向文字

style.setrotation((short)255);

設定文字自動換行

style.setwraptext(true);

/* ********************* 畫對角線 start ******************* */

//畫線(由左上到右下的斜線)

hssfpatriarch patriarch = sheet.createdrawingpatriarch();

hssfclientanchor a = new hssfclientanchor(0, 0, 1023, 255, (short)0, 2, (short)0, 2);

hssf******shape shape1 = patriarch.create******shape(a);

shape1.setshapetype(hssf******shape.object_type_line);

shape1.setlinestyle(hssf******shape.linestyle_solid) ;

hssfclientanchor

用於建立乙個新的端錨,並設定錨的左下和右下座標,用於插入,畫線等操作。

hssfclientanchor(

intdx1,

intdy1,

intdx2,

intdy2,

short

col1,

introw1,

short

col2,

introw2)

dx1 dy1 起始單元格中的x,y座標.

dx2 dy2 結束單元格中的x,y座標

col1,row1 指定起始的單元格,下標從0開始

col2,row2 指定結束的單元格 ,下標從0開始

/* ********************* 畫對角線 end ******************* */

sheet.addmergedregion(new cellrangeaddress(0, 0, 1, 7));設定單元格合併(起始行號,終止行號, 起始列號,終止列號)

渲染單元格

cell.setcellstyle(style); 

poi之3 17版本新舊對比,屬性或方法變動之處

顏色定義變化 舊版本 hssfcolor.black.index 新版本 indexedcolors.black.index 獲取單元格格式 舊版本 cell.getcelltype 與之應對的單元格格式 hssfcell.cell type blank 新版本 cell.getcelltypeen...