Frage: Kann ich eine Excel-Datei mit Java lesen? Wenn ja, wie?
Antwort: Ja, Microsoft Excel-Dateien können mit Java gelesen werden. Microsoft stellt einen ODBC-Treiber für Excel bereit, sodass wir JDBC und den JDBC-ODBC-Treiber von Sun zum Lesen von Excel-Dateien verwenden können.
Wenn Sie eine Excel-Datei mit dem Namen „Book1“ haben, verwendet der ODBC-Treiber von Microsoft die erste Zeile im Arbeitsblatt als Spaltennamen (Anmerkung des Übersetzers: Feldname) und den Namen des Arbeitsblatts als Namen der Datenbanktabelle. Um über JDBC auf das Arbeitsblatt zuzugreifen, müssen wir auch eine neue ODBC-Datenquelle erstellen. Der Prozess zum Erstellen einer Datenquelle auf einem Windows 2000-System ist wie folgt:
Geben Sie „Systemsteuerung“ in die Verwaltungstools „Datenquelle (ODBC)“ ein. (Anmerkung des Übersetzers: Wählen Sie nach dem Öffnen den System-DSN aus), klicken Sie auf „Hinzufügen“ und wählen Sie „Treiber für Microsoft Excel (*). wird in der Datenquellenliste des Systems angezeigt, und jetzt befindet sich die Datentabelle bereits in der Datenquellenliste (Anmerkung des Übersetzers: Klicken Sie auf OK, um die Konfiguration abzuschließen
(Anmerkung des Übersetzers: In meinem Beispiel) Nun, wenn wir alle auswählen möchten Für die „Testwerte“ in der Spalte „test1“ müssen wir die folgende SQL-Abfrage verwenden:
SELECT test1 FROM [Sheet1$ ] WHERE test1='Test'
Es ist zu beachten, dass auf den Arbeitsblattnamen ein „$“ folgt Symbol, das unverzichtbar ist. Weil davor und danach eckige Klammern stehen, weil „$“ in SQL-Anweisungen reserviert ist.
Das Folgende ist ein Beispielprogramm:
import java.sql.DriverManager; public class ExcelReader { | In diesem Programm stellt die Hauptfunktion main() eine Verbindung zur Datentabelle her und Entfernen Sie Datensätze, die die Kriterien erfüllen.
import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.DriverManager; public class ExcelReader { public static void main(String[] args){ Connection connection = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:Book1","","" ); Statement st = con.createStatement(); ResultSet rs = st.executeQuery( "SELECT * FROM [Sheet1$]" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); while (rs.next()) { for (int i = 1; i <= numberOfColumns; i++) { if(i>1) //用逗号分隔各列 System.out.print(", "); String columnValue = rs.getString(i); System.out.print(columnValue); } System.out.println(""); } st.close(); con.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } } }
Das obige ist der detaillierte Inhalt vonSo lesen Sie den Inhalt einer Excel-Datei mit Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!