POI單元格的合并、數(shù)據(jù)行的分組以及Excel窗口的凍結(jié)_第1頁(yè)
POI單元格的合并、數(shù)據(jù)行的分組以及Excel窗口的凍結(jié)_第2頁(yè)
POI單元格的合并、數(shù)據(jù)行的分組以及Excel窗口的凍結(jié)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、POI單元格的合并、數(shù)據(jù)行的分組以及Excel窗口的凍結(jié)本來想把這三個(gè)東西分開來實(shí)現(xiàn)的,后來發(fā)現(xiàn)分開后內(nèi)容都很少,于是就合在一起說吧。那總不能干巴巴的列幾個(gè)例子就完了吧,那就拿比較初級(jí)但又會(huì)經(jīng)常遇到的表格類數(shù)據(jù)的統(tǒng)計(jì)的設(shè)計(jì)來做個(gè)小例子。(源碼下載)結(jié)果發(fā)現(xiàn)還真夠辛苦的。這次先看效果圖吧,其中的豎排并不是真正意義上Excel那種設(shè)置的豎排,而是稍微轉(zhuǎn)變了一下輸出的方式實(shí)現(xiàn)的,因?yàn)槔贤獾挠⑽膯卧~沒有這種豎排的可能(頂多是旋轉(zhuǎn),但是那樣字體就變了)。除此之外想到的另外一種豎排文字的實(shí)現(xiàn)方式就是樣式旋轉(zhuǎn)+字體旋轉(zhuǎn),沒測(cè)試,不知道是否可用,誰(shuí)有功夫?qū)崿F(xiàn)一下,然后記得告訴我結(jié)果啊。A1業(yè)務(wù)一覽表i12侍I

2、JA0CDEGH1業(yè)務(wù)一覽表.第一季度第二李度第三李度第匹I至度TI2地區(qū)代理A連鎖店A3支出4連鎖店日5古出p6連鎖店C-1支出S910老樣子,把核心的代碼和簡(jiǎn)要的說明列出來大家看一下吧。/這里首先創(chuàng)建一個(gè)單元格樣式對(duì)象,設(shè)置了四周的邊框以及字體可以換行/其中的字體換行是用來豎向顯示其中的一個(gè)單元格的/更好的一點(diǎn)兒做法是再做一個(gè)單獨(dú)的單元格樣式對(duì)象/要不然在處理自動(dòng)列寬的時(shí)候可能會(huì)有點(diǎn)兒小問題HSSFCellStylenormalStyle=wb.createCellStyle();normalStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);no

3、rmalStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);normalStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);normalStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);normalStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);normalStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);normalStyle.setWrapText(

4、true);/合并單元格A1-C1,填入內(nèi)容的時(shí)候添到第一個(gè)格子里就可以/但是注意一點(diǎn):?jiǎn)卧窈喜⑨嵩O(shè)置邊框只在原第一個(gè)上有效,/如果想應(yīng)用的合并後的整體,則需要一個(gè)個(gè)的Create出單元格并應(yīng)用樣式/這個(gè)明顯是一個(gè)不太方便的操作,期待POI下一版的改進(jìn)了st.addMergedRegion(newRegion(0,(short)0,0,(short)2);HSSFRowrow=st.createRow(0);HSSFCellcell=row.createCell(short)0);cell.setCellValue(newHSSFRichTextString(業(yè)務(wù)一覽表);cell.setC

5、ellStyle(normalStyle);row.createCell(short)1).setCellStyle(normalStyle);row.createCell(short)2).setCellStyle(normalStyle);/設(shè)置列頭,當(dāng)然也可以一個(gè)一個(gè)格子的寫,用循環(huán)感覺有些取巧而已/同樣,需要單獨(dú)給每個(gè)單元格應(yīng)用樣式對(duì)象StringseasonName=第一季度,第二季度,第三季度,第四季度;for(shorti=3;i7;i+)cell=row.createCell(i);cell.setCellValue(newHSSFRichTextString(seasonNa

6、mei-3);cell.setCellStyle(normalStyle);/這個(gè)是豎排文字的實(shí)現(xiàn)/目前POI沒找到(或許沒提供,或許我無知)讓文字豎排的方法,/HSSFCellStyle.setRotation()方法是設(shè)置旋轉(zhuǎn)角度的,和豎排不太一樣,/后來想了一下,因?yàn)橹挥兄形牡热亲址庞胸Q排的可能,/一個(gè)英文單詞要是豎排看起來恐怕會(huì)非常怪異,不過不排除搞藝術(shù)的st.addMergedRegion(newRegion(1,(short)0,6,(short)0);row=st.createRow(1);cell=row.createCell(short)0);cell.setCellVa

7、lue(newHSSFRichTextString(地n區(qū)n代n理nA);cell.setCellStyle(normalStyle);for(inti=2;i7;i+)st.createRow(i).createCell(short)0).setCellStyle(normalStyle);/屬于地區(qū)的二級(jí)分類,豎向合并相鄰的兩個(gè)單元格,其他同上StringshopName=連鎖店A,連鎖店B,連鎖店C;for(inti=1;i6;i=i+2)row=st.createRow(i);cell=row.createCell(short)1);cell.setCellValue(newHSSFR

8、ichTextString(shopName(i-1)/2);cell.setCellStyle(normalStyle);st.createRow(i+1).createCell(short)1).setCellStyle(normalStyle);st.addMergedRegion(newRegion(i,(short)1,i+1,(short)1);/屬于連鎖店的下一級(jí),基本也是創(chuàng)建出來然后賦值+應(yīng)用樣式for(inti=1;i7;i=i+2)cell=st.getRow(i).createCell(short)2);cell.setCellValue(newHSSFRichTextString(”收入);cell.setCellStyle(normalStyle);cell=st.getRow(i+1).createCell(short)2);cell.setCellValue(newHSSFRichTextString(支出);cell.setCellStyle(normalStyle);/數(shù)據(jù)部分,直接Create然后應(yīng)用樣式,有數(shù)據(jù)的話這個(gè)地方就打數(shù)據(jù)好了for(inti=1;i7;i+)for(shortj=3;j7;j+)st.createRow(i).createCell(j).setCellStyle(normalS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論