JAVA—咖啡館

          ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯(lián)系。

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks
          試試用POI操作excel
          純粹為了自己好找.
          要有人看了這些的話,隨意就好啦...歡迎指出不當之處.
          package xls;

          import java.io.FileInputStream;
          import java.io.FileNotFoundException;
          import java.io.FileOutputStream;
          import java.io.IOException;
          import java.io.OutputStreamWriter;
          import java.io.UnsupportedEncodingException;
          import java.text.SimpleDateFormat;
          import java.util.ArrayList;
          import java.util.Date;
          import java.util.List;

          import org.apache.poi.hssf.usermodel.HSSFCell;
          import org.apache.poi.hssf.usermodel.HSSFRow;
          import org.apache.poi.hssf.usermodel.HSSFSheet;
          import org.apache.poi.hssf.usermodel.HSSFWorkbook;

          public class ReadXL
          {
              
          public static String fileName = "C:\\xls\\EXCEL.xls";
              
          public static String path = "C:\\xls\\"//為方便,就這樣寫了.
              public static void main(String argv[])
              
          {
                  List list 
          = readExcel();
                  String xmldata 
          = buildXML(list);
                  createXMLFile(xmldata);
              }


              
          /**
               * 讀取磁盤上的EXCEL文件的內容
               * 
          @return List
               
          */

              
          public static List readExcel()
              
          {
                  List list 
          = null;
                  UserBean ub 
          = null;
                  
          try
                  
          {
                      HSSFWorkbook workbook 
          = new HSSFWorkbook(new FileInputStream(
                              fileName)); 
          //得到excel對象
                      HSSFSheet sheet = workbook.getSheetAt(0); //得到第一個sheet
                      int rows = sheet.getPhysicalNumberOfRows(); //得到行數(shù)
                      list = new ArrayList();
                      
          for (int i = 1; i < rows; i++)
                      
          {
                          HSSFRow row 
          = sheet.getRow(i);
                          ub 
          = new UserBean();
                          HSSFCell cell 
          = row.getCell((short0); //得到列0(下標0,為第一列)
                          ub.setName(cell.getStringCellValue());
                          cell 
          = row.getCell((short1); //得到列 1
                          ub.setEmail(cell.getStringCellValue());
                          cell 
          = row.getCell((short2); //得到列2
                          ub.setPhone(cell.getStringCellValue());
                          cell 
          = row.getCell((short3); //得到列3
                          ub.setPasswd(cell.getStringCellValue());
                          list.add(ub);
                      }

                      
          return list;
                  }

                  
          catch (Exception e)
                  
          {
                      
          return null;
                  }

              }


              
          /**
               * 組裝xml格式字符串
               * 
          @param list List
               * 
          @return String
               
          */

              
          public static String buildXML(List list)
              
          {
                  StringBuffer sb 
          = new StringBuffer();
                  sb.append(
          "<contents-list>\n\t");
                  sb.append(
          "<content>\n\t\t");
                  
          for (int i = 0; i < list.size(); i++)
                  
          {
                      UserBean bean 
          = (UserBean) list.get(i);
                      sb.append(
          "<userinfo>\n\t\t\t");
                      sb.append(
          "<name>" + bean.getName() + "</name>\n\t\t\t");
                      sb.append(
          "<email>" + bean.getEmail() + "</email>\n\t\t\t");
                      sb.append(
          "<phone>" + bean.getPhone() + "</phone>\n\t\t\t");
                      sb.append(
          "<passwd>" + bean.getPasswd() + "</passwd>\n\t\t");
                      
          if (i + 1 < list.size())
                      
          {
                          sb.append(
          "</userinfo>\n\t\t");
                      }

                      
          else
                      
          {
                          sb.append(
          "</userinfo>\n\t");
                      }

                  }

                  sb.append(
          "</content>\n");
                  sb.append(
          "</contents-list>");
                  
          return sb.toString();
              }



              
          /**
               * 輸出到文件
               * 
          @param xmldata String
               
          */

              
          public static void createXMLFile(String xmldata)
              
          {
                  String createTime 
          = createTime();
                  String filename 
          = path + createTime + ".xml";
                  OutputStreamWriter osw 
          = null;
                  FileOutputStream output 
          = null;
                  
          try
                  
          {
                      output 
          = new FileOutputStream(filename);
                      osw 
          = new OutputStreamWriter(output, "utf-8");
                      osw.write(xmldata);
                      osw.flush();
                  }

                  
          catch (Exception ex)
                  
          {
                  }
                  
                  
          finally
                  
          {
                      
          try
                      
          {
                          
          if (null != output)
                          
          {
                              output.close();
                          }

                      }

                      
          catch (IOException ex2)
                      
          {
                      }

                      
          try
                      
          {
                          
          if (null != osw)
                          
          {
                              osw.close();
                          }

                      }

                      
          catch (IOException ex3)
                      
          {
                      }

                  }

              }


              
          /**
               * 用時間作為文件名
               * 
          @return String
               
          */

              
          public static String createTime()
              
          {
                  Date date 
          = new Date();
                  SimpleDateFormat dateFormat 
          = new SimpleDateFormat("yyyyMMddmmss");
                  String createTime 
          = dateFormat.format(date);
                  
          return createTime;
              }


          }


          再就一個UserBean,就幾個屬性.
          posted on 2008-11-18 10:40 rogerfan 閱讀(547) 評論(0)  編輯  收藏 所屬分類: 【Java知識】
          主站蜘蛛池模板: 峡江县| 塘沽区| 和田县| 金寨县| 平陆县| 岑溪市| 姜堰市| 图们市| 讷河市| 邹平县| 元氏县| 湘乡市| 岳普湖县| 淮阳县| 襄汾县| 克什克腾旗| 黎平县| 澄城县| 榆中县| 蒲城县| 海南省| 潍坊市| 休宁县| 晋城| 秀山| 梅州市| 郑州市| 阿尔山市| 二手房| 渝中区| 望江县| 中卫市| 老河口市| 衡水市| 远安县| 湄潭县| 尼勒克县| 绥棱县| 海伦市| 南平市| 驻马店市|