title: store data in mysql after reading from excel files
body: <p>i am trying to make o program where i will read the data from excel files and i will store them in a database. I am using eclipse as editor and mySQL. I am using APACHE POI to read the excel files and JDBC for the connection. The excel files have the structure as shown below:</p>
  
  <pre><code>ID    NAME   SALARY   STREET
  ---   ----   ------   -------------
  321   TIM    1254     14 avenue
  121   PAUL   1265     28h oktovriou
  432   NICK   4521     papaflessa
  </code></pre>
  
  <p>I have of course plenty of such files which contains many more rows and columns. The purpose of my program is to read the data, create table named as the name of the excel file and the fields of each table to be the first rows of the excel file. Afterwards the values will be the rest data of the excel file.
  In the code below i have managed to read them, show the data in the console. Afterwrds i am trying to call a database with JDBC but there i have problem when i create the table.</p>
  
  <pre><code>try
              {
                  String[] allFields;
                  String createTableStr = "CREATE TABLE" + createTableStr
                     + "(" + org.apache.commons.lang3.StringUtils.join(allFields,
                     ",") + ")";
  </code></pre>
  
  <p>Could anyone help me?</p>
  
  <p>Thank you in advance!:)</p>
  
  <pre><code>import java.io.FileInputStream;
  import java.io.IOException;
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.Iterator;
  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;
  import org.apache.commons.lang3.StringUtils;
  import org.apache.poi.ss.usermodel.Cell;
  
  import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.SQLException;
  import java.sql.Statement;
  
  public class exam1 {
  
      @SuppressWarnings({ "unchecked", "unchecked" })
      static void main (String[] args) throws Exception {
  
          String filename = "C:\\Users\\Efi\\Documents\\test5.xls";
  
          List sheetData = new ArrayList();
          FileInputStream fis = null;
          try {
              fis = new FileInputStream(filename);
              HSSFWorkbook workbook = new HSSFWorkbook(fis);
              HSSFSheet sheet = workbook.getSheetAt(0);
  
              Iterator rows = sheet.rowIterator();
              while (rows.hasNext()) {
                  HSSFRow row = (HSSFRow) rows.next();
                  Iterator cells = row.cellIterator();
  
                  List data = new ArrayList();
                     while (cells.hasNext()) {
                     HSSFCell cell = (HSSFCell) cells.next();
                     data.add(cell);
                     }
                     sheetData.add(data);
              }
  
                     } catch (IOException e) {
                     e.printStackTrace();
                     } finally {
                     if (fis != null) {
                     fis.close();
                     }
                     }
  
      showExcelData(sheetData);
  
  
      @SuppressWarnings("unused")
      HashMap&lt;String, String&gt; tableFields = new HashMap();
            for (int i=0; i&lt;sheetData.size();i++){
            List list = (List) sheetData.get(i);
                for (int j=0; j&lt;list.size(); j++){
                  Cell cell = (Cell) list.get(j);
                   if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                  System.out.print(cell.getNumericCellValue());
  
                    }else if(cell.getCellType()==Cell.CELL_TYPE_STRING) {
  
  
                    System.out.print(cell.getRichStringCellValue());
                } else if(cell.getCellType()==Cell.CELL_TYPE_BOOLEAN) {
              System.out.print(cell.getBooleanCellValue());
                      }
                  if (j &lt; list.size() - 1) {
              System.out.print(", ");
                      }}}
                      }
  
      private static void showExcelData(List sheetData) {
  
          }
  
      @SuppressWarnings("unchecked")
      private HashMap parseExcelData (List sheetData){
  
              HashMap&lt;String,Integer&gt; tableFields = new HashMap();
              List list = (List) sheetData.get(0);
              for (int j=0; j&lt;list.size(); j++){
                  Cell cell=(Cell) list.get(j);
                  tableFields.put(cell.getStringCellValue(),cell.getCellType());
          }
  
              return tableFields;
  
          }
  
  
  
      @SuppressWarnings({ "unchecked", "unchecked", "unchecked", "unchecked", "unused" })
      private String getCreateTable(String tablename, HashMap&lt;String, Integer&gt; tableFields){
          Iterator iter = tableFields.keySet().iterator();
          String str="";
          String[] allFields = new String[tableFields.size()];
          int i = 0;
          while (iter.hasNext()){
          String fieldName = (String) iter.next();
          Integer fieldType=(Integer)tableFields.get(fieldName);
  
          switch (fieldType){
          case Cell.CELL_TYPE_NUMERIC:
          str=fieldName + "INTEGER";
          break;
          case Cell.CELL_TYPE_STRING:
          str= fieldName + "VARCHAR(255)";
          break;
          case Cell.CELL_TYPE_BOOLEAN:
          str=fieldName + "INTEGER";
          break;
              }
          allFields[i++]= str;
          }
          return str; 
      }
  
      public Connection getConnection() throws SQLException {
          try {
              Class.forName("com.mysql.jdbc.Driver");
              Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/kainourgia","root", "root");
              Statement  stmt = con.createStatement();
              try
              {
              System.out.println( "Use the database..." );
              stmt.executeUpdate( "USE kainourgia;" );
              }
              catch( SQLException e )
              {
              System.out.println( "SQLException: " + e.getMessage() );
              System.out.println( "SQLState:     " + e.getSQLState() );
              System.out.println( "VendorError:  " + e.getErrorCode() );
              }
              try
              {
                  String[] allFields;
                  String createTableStr = "CREATE TABLE" + createTableStr
                     + "(" + org.apache.commons.lang3.StringUtils.join(allFields,
                     ",") + ")";
  
                  System.out.println( "Create a new table in the database" );
                  stmt.executeUpdate( createTableStr );
                  }
              catch( SQLException e )
              {
              System.out.println( "SQLException: " + e.getMessage() );
              System.out.println( "SQLState:     " + e.getSQLState() );
              System.out.println( "VendorError:  " + e.getErrorCode() );
              }
              }
              catch( Exception e )
              {
              System.out.println( ((SQLException) e).getSQLState() );
              System.out.println( e.getMessage() );
              e.printStackTrace();
              }
          return null;
              }
  
          }
  </code></pre>