java 讀寫excel

來源:互聯網
上載者:User

public class OperatExcel
{

    private  File file = new File(ParamenterInit.SRCEXCELPATH);
    private  File outfile = new File(ParamenterInit.DESTEXCELPATH);
    private static String sheetName = ParamenterInit.SHEETNAME;
    private static int column =Integer.parseInt(ParamenterInit.SHELLCOLUMN);
    private static int sqlcolumn =Integer.parseInt(ParamenterInit.SQLCOLUMN);
    public static void main(String args[] ) throws  IOException, RowsExceededException, BiffException, WriteException{
        OperatExcel op = new OperatExcel();
        op.writeExcel();
    }
   
  
    public   List readExcel() throws  IOException{
        InputStream in = new FileInputStream(file);
        List list = new ArrayList();
        try{
        Workbook book = Workbook.getWorkbook(in);
       Sheet sheet =  book.getSheet(sheetName);
       Cell cell [] =  sheet.getColumn(column);
      
        for(Cell c : cell){
            list.add(c.getContents().trim().startsWith("/")?c.getContents().substring(1).trim():c.getContents().trim());
        }
       
        in.close();
        //in.close();
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return list;
      
    }
    public  void writeExcel() throws  IOException, BiffException, RowsExceededException, WriteException{
        SimpleParser parser = new SimpleParser();
        Map sqlMap = parser.getSqlMap();
        Iterator it  = sqlMap.keySet().iterator();
        while(it.hasNext()){
            System.out.println("key : "+it.next());
            System.out.println("value : "+sqlMap.get(it.next()));
        }
        List shellList = readExcel();
        InputStream is = new FileInputStream(file);
        Workbook book = Workbook.getWorkbook(is);
        FileOutputStream fileout = new FileOutputStream(outfile);
        WritableWorkbook bookWrite =Workbook.createWorkbook(fileout,book);
        WritableSheet ws = bookWrite.getSheet(sheetName);
        ws.setColumnView(sqlcolumn, 300);
         int columns = ws.getRows();
          for(int i=0;i<columns;i++){
              if(sqlMap.get(shellList.get(i))!=null){
                  Label label = new Label(sqlcolumn,i,(String)sqlMap.get(shellList.get(i)));
                  ws.addCell(label);
              }
        }
        bookWrite.write();
        bookWrite.close();
        fileout.close();
        is.close();
     }
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.