<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 2, comments - 27, trackbacks - 0, articles - 60
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    多Excel合并的一種處理辦法

    Posted on 2011-09-03 09:23 ZhouFeng 閱讀(446) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA
    前幾天,接到一項(xiàng)任務(wù),要對(duì)一批EXCEL數(shù)據(jù)進(jìn)行處理,它們只是內(nèi)容不一樣,結(jié)構(gòu)都是一致的,主要是合并那所有的數(shù)據(jù),差不多有近百個(gè)文件。以前也做過,只不過沒有這么多,之前用的辦法是借助于ACCESS來做的,把EXCEL一個(gè)個(gè)的導(dǎo)入到ACCESS里面,然后處理好了再導(dǎo)出到EXCEL,或是導(dǎo)出到EXCEL中再進(jìn)行處理,這次文件有點(diǎn)多,要是一個(gè)一個(gè)的導(dǎo)也可以完成,只是感覺太不科學(xué)了,老在重復(fù)做一些枯燥簡(jiǎn)單的事情,所以就想到用程序的方法交給計(jì)算機(jī)實(shí)現(xiàn)了,想過用EXCEL的VBA來做,可我不太熟悉,之前用JAVA做過一個(gè)程序來處理這樣的數(shù)據(jù),可是沒有在現(xiàn)在計(jì)算機(jī)上,只得重新做了,于是還是考慮用JAVA來實(shí)現(xiàn),下載jxl庫(kù)(http://jexcelapi.sourceforge.net/),用來處理EXCEL,剛開始從EXCEL中讀取數(shù)據(jù)沒有問題,寫EXCEL文件的時(shí)候,老是用EXCEL打不開,后來干脆換了種方法,直接寫成文本文件的格式,然后將文本文件用EXCEL打開,我想這樣來處理更簡(jiǎn)單一些,下面是我寫的一些代碼
    public class Merge {

        
    public static void main(String[] args) {
            File outFile 
    = new File("e:\\out.txt");
            
            File workdir 
    = new File("e:\\workdatas");
            File[] files 
    = workdir.listFiles();
            
            BufferedWriter output 
    = null;

            Merge app 
    = new Merge();
            String str 
    = null;
            
            
    if (!outFile.exists()){
                
    try {
                    outFile.createNewFile();
                    output 
    = new BufferedWriter(new FileWriter(outFile));
                    
    for(File f:files){
                        System.out.println(f.getName());
                        str 
    = app.readExcel(f);
                        output.write(str);
                    }
                    output.close();
                } 
    catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        
        
    public String readExcel(File file){   
            StringBuffer sb 
    = new StringBuffer();   
               
            Workbook wb 
    = null;   
            
    try {   
                
    //構(gòu)造Workbook(工作薄)對(duì)象   
                wb=Workbook.getWorkbook(file);   
            } 
    catch (BiffException e) {   
                e.printStackTrace();   
            } 
    catch (IOException e) {   
                e.printStackTrace();   
            }   
               
            
    if(wb==null)   
                
    return null;   
               
            
    //獲得了Workbook對(duì)象之后,就可以通過它得到Sheet(工作表)對(duì)象了   
            Sheet sheet = wb.getSheet(0);
            
    int rsColumns = sheet.getColumns();
            
    int rsRows = sheet.getRows();
            
            
    //rows從1開始,不包含標(biāo)題行
            for(int i=1;i<rsRows;i++){
                
    for(int j=0;j<rsColumns;j++){
                    String cellString 
    = sheet.getCell(j, i).getContents();
                    sb.append(cellString).append(
    "\t");
                }
                sb.append(
    "\r\n");
            }
            wb.close();
            
    return sb.toString();   
        }
    }
    程序很小,沒怎么考慮結(jié)構(gòu),可能有些處理方式?jīng)]有設(shè)計(jì)好,不過目前只能在開發(fā)環(huán)境中運(yùn)行,沒有設(shè)計(jì)成發(fā)行的版本,可以修改成命令行方式下的參數(shù)模式,或是做成一個(gè)簡(jiǎn)單的窗口模式,因?yàn)樾枰Y(jié)果數(shù)據(jù)時(shí)間有些緊迫,所以跑完這個(gè)代碼后,就沒有繼續(xù)修改了,如果哪天有時(shí)間,再來完善一下。也許可以再考慮一個(gè)VBA的版本
    先貼在這里,就當(dāng)是給自己做個(gè)筆記吧。如果上面的內(nèi)容能為他人提供一點(diǎn)參考,我很榮幸
    主站蜘蛛池模板: 国产精品久久久久久亚洲影视| 亚洲高清毛片一区二区| 亚洲黄色免费电影| 亚洲人成图片网站| 亚洲中文字幕无码久久综合网| 黄页免费在线观看| 亚洲综合av一区二区三区| 亚洲麻豆精品国偷自产在线91| 中文字幕视频在线免费观看| 亚洲人成网网址在线看| 亚洲AV无码一区二区三区国产 | 亚洲一区二区三区免费| 91精品国产免费久久国语麻豆| 亚洲精品欧美综合四区| 国产亚洲一区二区三区在线| 日韩不卡免费视频| 久久精品成人免费国产片小草| 久久精品亚洲AV久久久无码| 国产成人亚洲精品影院| 无码人妻久久一区二区三区免费丨| 国产精品免费看久久久香蕉 | 亚洲自国产拍揄拍| 亚洲中久无码永久在线观看同| aa级一级天堂片免费观看| 你懂的在线免费观看| 亚洲另类无码专区丝袜| 亚洲福利视频导航| 亚洲精品色婷婷在线影院| 免费无码又黄又爽又刺激| 免费国产叼嘿视频大全网站| 暖暖免费中文在线日本| 亚洲中文字幕一二三四区苍井空| 亚洲av综合av一区| 无码国产亚洲日韩国精品视频一区二区三区 | 亚洲国产成人va在线观看网址| 亚洲一区二区三区自拍公司| 亚洲av麻豆aⅴ无码电影| 免费a级毛片无码a∨蜜芽试看| 日韩免费无码视频一区二区三区 | 91免费国产视频| 免费人成视频在线播放|