Ytl's Java Blog

          厚積而薄發(fā)---每一天都是一個全新的開始

          Java處理Excel數(shù)據(jù)(1)

          Posted on 2009-04-12 13:57 ytl 閱讀(427) 評論(0)  編輯  收藏 所屬分類: Others

          Java處理Excel數(shù)據(jù)有很多方式,如Apache的POI或JXL等.

          我首先給出一個Excele數(shù)據(jù)的讀入的方式(使用的是jxl.jar包)

          package com.ccniit.readexcel;

          import java.io.File;
          import java.io.FileInputStream;
          import java.io.FileNotFoundException;
          import java.io.IOException;
          import java.io.InputStream;
          import java.util.ArrayList;
          import java.util.HashMap;
          import java.util.List;
          import java.util.Map;

          import jxl.Sheet;
          import jxl.Workbook;
          import jxl.read.biff.BiffException;

          public class ExcelHander {

              
          public static String[] getColName(String desc) {
                  InputStream is 
          = null;
                  String[] colNames 
          = null;
                  
          try {
                      is 
          = new FileInputStream(new File(desc));
                      Workbook wb 
          = Workbook.getWorkbook(is);
                      Sheet sheet 
          = wb.getSheet(0);
                      
          int cols = sheet.getColumns();
                      colNames 
          = new String[cols];
                      
          for (int i = 0; i < cols; i++{
                          colNames[i] 
          = sheet.getCell(i, 0).getContents();
                          
          // System.out.println("列名: " + colNames[i]);
                      }

                      is.close();
                  }
           catch (FileNotFoundException e) {
                      
          // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
           catch (BiffException e) {
                      
          // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
           catch (IOException e) {
                      
          // TODO Auto-generated catch block
                      e.printStackTrace();
                  }

                  
          return colNames;

              }


              
          public List<Map<String, Object>> readExcel(String desc) {
                  List
          <Map<String, Object>> datas = null;
                  
          try {
                      InputStream is 
          = new FileInputStream(new File(desc));
                      Workbook wb 
          = Workbook.getWorkbook(is);
                      
          if(wb == null){
                          
          return null;
                      }

                      Sheet sheet 
          = wb.getSheet(0);
                      
          int cols = sheet.getColumns();
                      
          int rows = sheet.getRows();
                      datas 
          = new ArrayList<Map<String, Object>>();
                      
          for (int i = 1; i < rows; i++{
                          Map
          <String, Object> data = new HashMap<String, Object>();
                          
          for (int j = 0; j < cols; j++{
                              String key 
          = sheet.getCell(j, 0).getContents();
                              
          // System.out.println("key:" + key);
                              Object value = (Object) sheet.getCell(j, i).getContents();
                              
          // System.out.println("value:" + value.toString());
                              data.put(key, value);
                          }

                          datas.add(data);
                      }

                      is.close();
                      wb.close();
                  }
           catch (FileNotFoundException e) {
                      e.printStackTrace();
                  }
           catch (BiffException e) {
                      e.printStackTrace();
                  }
           catch (IOException e) {
                      e.printStackTrace();
                  }

                  
          return datas;
              }


          }




          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 普定县| 乡城县| 灌南县| 蓝山县| 南康市| 台中县| 晋州市| 屯门区| 彭阳县| 兴业县| 垦利县| 搜索| 富蕴县| 惠来县| 来安县| 渭南市| 武城县| 兰溪市| 荔波县| 曲沃县| 钟山县| 类乌齐县| 大安市| 武宁县| 水富县| 札达县| 馆陶县| 大丰市| 宁阳县| 横峰县| 连平县| 团风县| 嘉兴市| 明光市| 乐平市| 长治市| 布拖县| 宁德市| 宁河县| 陆河县| 塔河县|