一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務(wù)器之家 - 編程語言 - Java教程 - Java導(dǎo)出excel時(shí)合并同一列中相同內(nèi)容的行思路詳解

Java導(dǎo)出excel時(shí)合并同一列中相同內(nèi)容的行思路詳解

2021-05-08 10:35HPUCL Java教程

這篇文章主要介紹了Java導(dǎo)出excel時(shí)合并同一列中相同內(nèi)容的行,需要的朋友可以參考下

一、有時(shí)候?qū)С鰁xcel時(shí)需要按類別導(dǎo)出,一大類下好幾個(gè)小類,小類下又有好幾個(gè)小小類,就像下圖:

Java導(dǎo)出excel時(shí)合并同一列中相同內(nèi)容的行思路詳解

要實(shí)現(xiàn)這個(gè)也不難,

思路如下:按照大類來循環(huán),如上就是按照張江校區(qū)、徐匯校區(qū)、臨港校區(qū)三個(gè)大類循環(huán),然后再處理小類,因?yàn)楸纠⌒☆惒簧婕昂喜ⅲ灾簧婕疤幚硇☆悾绻枰幚硇⌒☆悾€需要在處理一下,具體實(shí)現(xiàn)原理同小類;

      每次循環(huán)時(shí)記錄下此次循環(huán)的房屋類型和上次循環(huán)的房屋類型,兩者相同時(shí),要合并的結(jié)束行++,否者,說明這個(gè)房屋類型已經(jīng)循環(huán)完畢(前提是各類型都按順序order by 了,保證相同類型相鄰),開始融合。具體實(shí)現(xiàn)如下:

二、實(shí)現(xiàn)代碼,具體思路已經(jīng)在注釋中了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
public void expstatistics(string filepath,string campuscode) {
   try {
     writableworkbook wwb = workbook.createworkbook(new file(filepath));
     jxlformatutil jfu = new jxlformatutil();
     writablesheet ws = wwb.createsheet("房屋報(bào)表統(tǒng)計(jì)", 0);
     string[] tablehead = {"校區(qū)名稱:20","房屋類型:30","房屋用途:30","使用面積(㎡):20"};
     for (int i = 0; i < tablehead.length; i++) {//每一列的標(biāo)題樣式
       ws.addcell(new label(i, 0, tablehead[i].split(":")[0], jxlformatutil.wchead));
       ws.setcolumnview(i, integer.valueof(tablehead[i].split(":")[1]));
     }
     int col = 1;//從第1行開始
     //以下變量用來融合相同內(nèi)容 的行
     int percol = col;
     string perpurpose = "";//上一個(gè)用途類型
     string purpose = "";//當(dāng)前用途類型
     int startmergecol = 1;//要融合的第一行
     int endmergecol = 0;//要融合的最后行
     boolean flag = true;//用來記錄是否是第一次循環(huán)
     //根據(jù)搜索條件導(dǎo)出
     list<fcxtcampus> campuslist = new arraylist<fcxtcampus>();
     if(null != campuscode && !"".equals(campuscode)){
       campuslist = campusdao.findcampusbycode(campuscode);
     }else {
       campuslist =campusdao.findcampus();
     }
     for (fcxtcampus campus : campuslist) {
       list<fcxtbuild> builds = builddao.statisticsbuilds(campus.getcampuscode());//獲取所有房屋信息
       if(null != builds && builds.size() > 0){
         for (fcxtbuild build : builds) {
           int row = 0;//從第0列開始
           ws.addcell(new label(row++, col, campus.getcampusname(), jxlformatutil.wccenter));
           purpose = build.getusefulpurpose();
           if(flag){//如果是第一次循環(huán),將perpurpose初始化,以便后面的第一次判斷
             perpurpose = purpose;
             flag = false;
           }
           ws.addcell(new label(row++, col, fcxtbuild.build_usefulpurpose.get(build.getusefulpurpose()), jxlformatutil.wccenter));
           if(purpose.equals(perpurpose)){
             endmergecol++;
           }else{//兩者不相同時(shí),融合之前相同的行
             ws.mergecells(1, startmergecol, 1, endmergecol);
             startmergecol = col;
             endmergecol = startmergecol;
             perpurpose = purpose;
           }
           ws.addcell(new label(row++, col, fcxtbuild.build_buildingtype.get(build.getbuildingtype()), jxlformatutil.wccenter));
           ws.addcell(new label(row++, col, build.getbuildarea().tostring(), jxlformatutil.wccenter));
           col++;
         }
         ws.mergecells(0, percol, 0, col-1);
         percol = col;
       }
     }
     wwb.write();
     wwb.close();
   } catch (exception e) {
     e.printstacktrace();
   }
 }

總結(jié)

以上所述是小編給大家介紹的java導(dǎo)出excel時(shí)合并同一列中相同內(nèi)容的行思路詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!

原文鏈接:https://www.cnblogs.com/hpuiotcl/archive/2018/06/07/9150229.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩一级精品视频在线观看 | 日本无遮挡吸乳视频看看 | 国产日韩视频一区 | 日韩一区二区三区四区五区 | 亚洲色图丝袜 | 三级理论在线观看 | 日本人做受全过程视频 | 把女的下面扒开添视频 | 俄罗斯性高清完整版 | 精品性久久 | 日本成日本片人免费 | 秋霞黄色片 | 福利片成人午夜在线 | 亚洲乱码一二三四区国产 | 欧美日韩国产亚洲人成 | 日本动漫打扑克动画片樱花动漫 | 91免费在线 | 国内小情侣一二三区在线视频 | 亚洲美女爱爱 | 日本福利视频网站 | 学校捏奶揉下面污文h | 日日干夜夜拍 | 窝窝色资源站 | 成人国产精品一级毛片视频 | 国产成人免费视频 | 午夜精品久久久 | 亚洲精品一二三四 | 99精品国产在现线免费 | 国产99页| 久久婷婷五月综合色精品首页 | 成年美女黄网站色视频大全免费 | 日韩欧美一区二区在线观看 | 青草娱乐极品免费视频 | 91亚洲成人| 日本一区二区三区四区无限 | 九九热综合 | 成年人免费在线看的惊悚动作片 | 亚洲AV 日韩 国产 有码 | 精品日产1区2卡三卡麻豆 | 亚洲男人天堂 | 草莓秋葵菠萝蜜绿巨人污 |