poi生成excel相關設定

2021-09-25 03:44:50 字數 3378 閱讀 6662

poi生成excel整理(設定邊框/字型/顏色/加粗/居中/)

hssfworkbook wb = new hssfworkbook();

hssfsheet sheet = wb.createsheet();

hssfcellstyle setborder = wb.createcellstyle();

一、設定背景色:

setborder.setfillforegroundcolor((short) 13);// 設定背景色(indexedcolors.teal.getindex())

setborder.setfillpattern(hssfcellstyle.solid_foreground);

二、設定邊框:

setborder.setborderbottom(hssfcellstyle.border_thin); //下邊框

setborder.setborderleft(hssfcellstyle.border_thin);//左邊框

setborder.setbordertop(hssfcellstyle.border_thin);//上邊框

setborder.setborderright(hssfcellstyle.border_thin);//右邊框

三、設定居中:

setborder.setalignment(hssfcellstyle.align_center); // 居中

//水平居中

styletitle.setalignment(hssfcellstyle.align_center);

//垂直居中

styletitle.setverticalalignment(hssfcellstyle.vertical_center);

四、設定字型:

hssffont font = wb.createfont();

font.setfontname(「黑體」);

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

hssffont font2 = wb.createfont();

font2.setfontname(「仿宋_gb2312」);

font2.setboldweight(hssffont.boldweight_bold);//粗體顯示

font2.setfontheightinpoints((short) 12);

setborder.setfont(font);//選擇需要用到的字型格式

五、設定列寬:

sheet.setcolumnwidth(0, 3766); //第乙個引數代表列id(從0開始),第2個引數代表寬度值

六、設定自動換行:

setborder.setwraptext(true);//設定自動換行

七、合併單元格:

region region1 = new region(0, (short) 0, 0, (short) 6);

//引數1:行號 引數2:起始列號 引數3:行號 引數4:終止列號

sheet.addmergedregion(region1);

或者用cellrangeaddress region1 = new cellrangeaddress(rownumber, rownumber, (short) 0, (short) 11);

但應注意兩個構造方法的引數不是一樣的,具體使用哪個取決於poi的不同版本。

sheet.addmergedregion(region1);

目前用過的就這麼多,後續有新的會繼續新增。

八、加邊框

hssfcellstyle cellstyle= wookbook.createcellstyle();

cellstyle.setalignment(hssfcellstyle.align_center);

cellstyle.setborderbottom(hssfcellstyle.borderborder_medium);

cellstyle.setbottombordercolor(hssfcolor.black.index);

cellstyle.setborderleft(hssfcellstyle.border_medium);

cellstyle.setleftbordercolor(hssfcolor.black.index);

cellstyle.setborderright(hssfcellstyle.border_medium);

cellstyle.setrightbordercolor(hssfcolor.black.index);

cellstyle.setbordertop(hssfcellstyle.border_medium);

cellstyle.settopbordercolor(hssfcolor.black.index);

九、字型顏色

(1)//生成乙個字型

hssffont font=wb.createfont();

font.setcolor(hssfcolor.black.index); //字型顏色

font.setfontheightinpoints((short)12);

font.setboldweight(hssffont.boldweight_bold); //字型增粗

//把字型應用到當前的樣式

style.setfont(font);

/*字型end/

hssfrow row = sheet.createrow((short) 0);

hssfrow row2 = sheet.createrow((short) 1);

(2)font font = wb.createfont();  

font.setfontheightinpoints((short) 12); // 字型高度

font.setfontname("宋體"); // 字型

font font2 = wb.createfont();

font2.setfontheightinpoints((short) 12); // 字型高度

font2.setfontname("宋體"); // 字型

font2.setcolor(hssfcolor.red.index);

十、//設定生成的檔案臨時存放目錄

file dir = new file(「temp/userfb」);

if (!dir.exists())

string filename =(「temp/userfb」) + file.separator + name + 「.xls」;

file file = new file(filename);

try catch (ioexception e)

return file;

POI生成excel檔案

entranceguarduploadeventmodel eventmodel new entranceguarduploadeventmodel listdatalist entranceguarduploadeventservice.queryall eventmodel 第一步,建立乙個we...

Excel相關 去重,POI操作EXCEL

alt f11 在巨集裡面插入模組,然後執行如下 即可在excel中打上 已存在標記 去重 excel 如何用陣列實現多個檔案之間的對比去重 看看這個 sub 資料對比 dim i as integer dim j as integer for i 2 to 12 表1 從第2行開始比較到第12行結...

POI 生成Excel存在的問題

1.後面的內容會覆蓋前面的內容 sheet.addmergedregion new cellrangeaddress 4,6,0,0 cell sxssfcell sheet.createrow 4 createcell 0 cell.setcellvalue 機構名稱 cell.setcellst...