2011-01-11 195 views
1

我想用这段代码插入excel数据到数据库。excel java apache poi

public class Insert { 
     public static void main(String [] args) { 
     String fileName="C:\\File.xls"; 
     Vector dataHolder=read(fileName); 
     saveToDatabase(dataHolder); 
    } 
     public static Vector read(String fileName) { 
     Vector cellVectorHolder = new Vector(); 
     try{ 
       FileInputStream myInput = new FileInputStream(fileName); 
       POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput); 
      HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem); 
      HSSFSheet mySheet = myWorkBook.getSheetAt(0); 
      Iterator rowIter = mySheet.rowIterator(); 
      while(rowIter.hasNext()){ 
        HSSFRow myRow = (HSSFRow) rowIter.next(); 
        Iterator cellIter = myRow.cellIterator(); 
        Vector cellStoreVector=new Vector(); 
        while(cellIter.hasNext()){ 
          HSSFCell myCell = (HSSFCell) cellIter.next(); 
          cellStoreVector.addElement(myCell); 
        } 
        cellVectorHolder.addElement(cellStoreVector); 
      } 
     }catch (Exception e){e.printStackTrace(); } 
     return cellVectorHolder; 
    } 
     private static void saveToDatabase(Vector dataHolder) { 
     String username=""; 
       String password=""; 
       for (int i=0;i<dataHolder.size(); i++){ 
        Vector cellStoreVector=(Vector)dataHolder.elementAt(i); 
         for (int j=0; j < cellStoreVector.size();j++){ 
           HSSFCell myCell = (HSSFCell)cellStoreVector.elementAt(j); 
           String st = myCell.toString(); 
           username=st.substring(0,1); 
           password=st.substring(0); 
                 } 
         try{ 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root", "root"); 
     Statement stat=con.createStatement(); 
     int k=stat.executeUpdate("insert into login(username,password) value('"+username+"','"+password+"')"); 
     System.out.println("Data is inserted"); 
     stat.close(); 
     con.close(); 
     } 
     catch(Exception e){} 
     } 
     } 
     } 

如何在代码中插入此代码?

+0

* *什么类型的按钮?基于Java的GUI按钮或Excel中的按钮(宏,...)? – 2011-01-11 11:46:04

回答

1

通常你必须动作侦听器添加到按钮:

Button button = new Button("click me"); 
    button.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      // call your logic here 
     } 
    });