鏈榪戦」鐩腑瑕佸皢杈冨ぇ鏁版嵁鐢熸垚Excel2003鎴朎xcel2007鏂囦歡銆?/p>
鐢變簬POI寰堝ソ鐨勯噰鐢ㄤ簡闈㈠悜鎺ュ彛緙栫▼鐨勬濇兂錛屾墍浠ュ叾瀹炵敓鎴怑xcel2003鍜岀敓鎴怑xcel2007鐨勪唬鐮佸鏁版槸鍙互澶嶇敤鐨勩?/p>
鎴戠殑鍋氭硶鏄細(xì)
1.瀹氫箟Excel2003FileCreator錛岀敤鏉ョ敓鎴怑xcel2003鏂囦歡
2.瀹氫箟Excel2007FileCreator錛岀敤鏉ョ敓鎴怑xcel2007鏂囦歡錛孍xcel2007FileCreator extends Excel2003FileCreator銆?/p>
鍦‥xcel2003FileCreator涓畾涔?/p>
protected org.apache.poi.ss.usermodel.Workbook workbook;
protected org.apache.poi.ss.usermodel.Sheet sheet;
private org.apache.poi.ss.usermodel.Row row
Workbook錛孲heet 錛孯ow鍧囦負(fù)鎺ュ彛銆?/p>
鍙鍦ㄧ敓鎴恮orkbook鏃訛紝紜畾鏄?
org.apache.poi.hssf.usermodel.HSSFWorkbook // 鐢熸垚Excel2003鏂囦歡鐢?/p>
榪樻槸
org.apache.poi.xssf.usermodel.XSSFWorkbook // 鐢熸垚Excel2007鏂囦歡鐢?/p>
鍗沖彲銆?/p>
鍚庣畫鐨凷heet錛孯ow 閮芥槸鏍規(guī)嵁 workbook 鍒涘緩鐨勩?/p>
闂鐨勫嚭鐜幫細(xì)
鍦ㄥ姣忎竴涓狢ell榪涜璁劇疆Style鍜孷alue鐨勬椂鍊欙紝鎴戝厛鏍規(guī)嵁DB涓殑閰嶇疆錛屽彇寰楁瘡涓崟鍏冩牸鐨勬牸寮忥紝鍐嶅鍏惰繘琛岃瀹氬箋?/p>
1
// 鍙栧緱瀛椾綋
2
3
private static Font getFont(Workbook workbook, int fontHeight, short boldWeight) {
4
// 瀛椾綋
5
font = workbook.createFont();
6
// Font font = workbook.createFont();
7
font.setFontName("瀹嬩綋");
8
font.setFontHeightInPoints((short)fontHeight);
9
font.setBoldweight(boldWeight);
10
return font;
11
}
12
鍐嶈繘琛岃緗叾浠栧崟鍏冩牸鏍煎紡銆?/p>
鍙垪瀹炵幇浠g爜錛?/p>
1
style = workbook.createCellStyle();
2
3
// 杈規(guī)
4
if (hasBorder)
{
5
style.setBorderBottom((short)1);
6
style.setBorderLeft((short)1);
7
style.setBorderRight((short)1);
8
style.setBorderTop((short)1);
9
}
10
11
// 鑳屾櫙棰滆壊
12
if (isEvenRow)
{
13
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
14
style.setFillForegroundColor(colorIndex);
15
}
16
17
// 瀵歸綈
18
style.setAlignment(align);
19
style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
20
style.setFont(font);
21
style.setWrapText(true);
22
23
if(!"".equals(excelFmt))
{
24
short format = HSSFDataFormat.getBuiltinFormat(excelFmt);
25
style.setDataFormat(format);
26
}
鍙栧緱鐨凷tyle錛屽啀璋冪敤Cell瀵硅薄鐨?cell.setCellStyle(Style) 榪涜璁劇疆鏍煎紡銆?/p>
鍥犱負(fù)榪欐浠g爜鏄敓鎴怑xcel2003鍜孍xcel2007鏃跺欓兘瑕佺敤鍒扮殑銆?/p>
鐢熸垚1w鐨勬暟鎹紝Excel2003鏄病鏈夐棶棰樼殑錛岄熷害寰堝揩銆?/span>
浣嗘槸鍚屾牱鐨勬暟鎹紝鐢熸垚Excel2007鏃訛紝閫熷害鎱㈢殑鍙互錛岃浜轟笉鑳芥帴鍙椼?/span>
鏈鍚庤皟鏌ュ緱鍑虹殑緇撴灉鏄細(xì)鐡墮鍦ㄤ簬org.apache.poi.xssf.usermodel.XSSFWorkbook 鍦ㄧ敓鎴愬瓧浣撳拰鏍峰紡瀵硅薄鏃躲?/span>
闂鐨勮В鍐籌細(xì)
鐢變簬瀵逛簬鏂囦歡浣撶殑鍗曞厓鏍艱緗紝姣忎竴鍒楀嚑涔庢槸鐩稿悓鐨勩傛墍浠ュ皢鐢熸垚瀛椾綋鍜屽崟鍏冩牸鏍峰紡鐨勪唬鐮佸仛浜嗕竴浜涘皬璋冩暣錛?/span>
1
private static Font getFont(Workbook workbook, int fontHeight, short boldWeight)
{
2
// 瀛椾綋 fontMap涓哄叏灞鐨凪ap錛岀敤鏉ヤ繚瀛樼浉鍚屽瓧浣撹姹傜殑Font瀵硅薄
3
// 褰撹鍙栧緱瀛椾綋瀵硅薄鏃訛紝鍏堝垽鏂槸鍚﹀凡緇忕紦瀛樹簡錛屽鏋滄槸錛屽垯涓嶉渶瑕佸啀鍒涘緩
4
Font font = fontMap.get(fontHeight + boldWeight);
5
if (font == null)
{
6
font = workbook.createFont();
7
// Font font = workbook.createFont();
8
font.setFontName("瀹嬩綋");
9
font.setFontHeightInPoints((short)fontHeight);
10
font.setBoldweight(boldWeight);
11
fontMap.put(fontHeight + boldWeight, font);
12
}
13
return font;
14
}
鍙栧緱鏍峰紡
1
CellStyle style = styleMap.get(Key);
2
if (style == null)
{
3
// 璁懼畾鏍峰紡錛岀劧鍚庡皢鏍峰紡緙撳瓨鍦ㄥ叏灞鐨凥ashMap瀵硅薄styleMap 涓?br />
4
//
..
5
// 鐣?.styleMap.put(***);
6
}
7
8
return style;
榪欐牱鏀逛簡涔嬪悗錛岄熷害绔嬪埢鎻愰珮浜嗐?/p>
褰撶劧錛屽湪鐢ㄥ畬涔嬪悗錛岃寰梒lear銆?/p>
榪欓噷瑕佹敞鎰忕殑鏄紝緙撳瓨HashMap瀵硅薄涓殑Key鐨勮瀹氥?/p>
Key鍦ㄧ粍鍚堟椂瑕佷綋鐜板嚭浣犵殑鍗曞厓鏍兼牸寮忥紝鍙堜笉浼?xì)鍥犱负缁勫悎锛屼娇寰椌~撳瓨涓璞℃販涔變簡銆?/p>

]]>