franksisca
11-05-2006, 16:05
ragazzi, io tramite questa classe, trovata non ricordo dove, riesco a leggere i dati da un file Excel:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
public class ExcelReader {
static String foglio ;
static String filename ;
static Vector vettore=new Vector();
public static String getFoglio() {
return foglio;
}
public static void setFoglio(String foglio) {
ExcelReader.foglio = foglio;
}
public ExcelReader(String filename) throws ClassNotFoundException {
this.filename=filename;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
public Vector leggidati(String foglio) throws SQLException{
String query = "select * from [" + foglio.trim() + "$]";
String database="jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=" + filename.trim() + ";DriverID=22;READONLY=true}";
Connection con = java.sql.DriverManager.getConnection( database ,"","");
Statement state = con.createStatement();
ResultSet rs = state.executeQuery( query );
int maxWidth=0;
Vector rows = new Vector(); //righe
Vector columnHeader = new Vector(); //colonne
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount(); //numero colonne
for (int i=1; i<=cols; i++)
columnHeader.add( rsmd.getColumnName(i) ); //prende il nome delle colonne
rows.add(columnHeader); //e li aggiunge al vettore
while ( rs.next()){
Vector thisRow = new Vector(); //vettore temporaneo per i dati
for (int i=1; i<=cols; i++)
thisRow.add( rs.getString(i) ); //aggiunge i dati al vettore
rows.add(thisRow); //aggiunge il vettore temporaneo al vettore sopra
}
rs.close();
state.close();
con.close();
return rows;
}
}
intanto se serve a qualcuno benvenuto, ma ora mi chiedo, dato la struttura "=" a quella di un database, secondo voi, scrivere e come fare un update in un database???
se qualcuno ha codice pronto, potrebbe farmi vedere.
P.S.: in tutta sincerità non ho provato, ma se proprio nessuno riesce a trovare qualcosa di già scritto......
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
public class ExcelReader {
static String foglio ;
static String filename ;
static Vector vettore=new Vector();
public static String getFoglio() {
return foglio;
}
public static void setFoglio(String foglio) {
ExcelReader.foglio = foglio;
}
public ExcelReader(String filename) throws ClassNotFoundException {
this.filename=filename;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
public Vector leggidati(String foglio) throws SQLException{
String query = "select * from [" + foglio.trim() + "$]";
String database="jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=" + filename.trim() + ";DriverID=22;READONLY=true}";
Connection con = java.sql.DriverManager.getConnection( database ,"","");
Statement state = con.createStatement();
ResultSet rs = state.executeQuery( query );
int maxWidth=0;
Vector rows = new Vector(); //righe
Vector columnHeader = new Vector(); //colonne
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount(); //numero colonne
for (int i=1; i<=cols; i++)
columnHeader.add( rsmd.getColumnName(i) ); //prende il nome delle colonne
rows.add(columnHeader); //e li aggiunge al vettore
while ( rs.next()){
Vector thisRow = new Vector(); //vettore temporaneo per i dati
for (int i=1; i<=cols; i++)
thisRow.add( rs.getString(i) ); //aggiunge i dati al vettore
rows.add(thisRow); //aggiunge il vettore temporaneo al vettore sopra
}
rs.close();
state.close();
con.close();
return rows;
}
}
intanto se serve a qualcuno benvenuto, ma ora mi chiedo, dato la struttura "=" a quella di un database, secondo voi, scrivere e come fare un update in un database???
se qualcuno ha codice pronto, potrebbe farmi vedere.
P.S.: in tutta sincerità non ho provato, ma se proprio nessuno riesce a trovare qualcosa di già scritto......