질문: Java를 사용하여 Excel 파일을 읽을 수 있나요? 그렇다면 어떻게?
답변: 예, Microsoft Excel 파일은 Java로 읽을 수 있습니다. Microsoft는 Excel용 ODBC 드라이버를 제공하므로 JDBC 및 Sun의 JDBC-ODBC 드라이버를 사용하여 Excel 파일을 읽을 수 있습니다.
Book1.Sheet1이라는 Excel 파일이 있는 경우 Microsoft의 ODBC 드라이버는 워크시트의 첫 번째 행을 열 이름(번역자 참고 사항: 필드 이름)으로 사용하고 워크시트 이름을 데이터베이스 테이블 이름으로 사용합니다. JDBC를 통해 워크시트에 접근하려면 새로운 ODBC 데이터 소스도 생성해야 합니다. Windows 2000 시스템에서 데이터 소스를 생성하는 과정은 다음과 같습니다:
"제어판" 관리 도구 "데이터 소스(ODBC)"를 입력하세요. (번역자 주: 연 후 시스템 DSN 선택) 추가를 클릭하고 "드라이버는 Microsoft Excel(*)을 선택합니다. 그런 다음 통합 문서 선택을 클릭한 다음 Excel 파일을 찾아서 선택합니다
확인을 클릭한 후 설정한 데이터 소스 이름 시스템 데이터 소스 목록에 나타나며 이제 데이터 테이블은 이미 데이터 소스 목록에 있습니다(번역자 주: 구성을 완료하려면 확인을 클릭하세요)
(번역자 주: 내 예에서는) 이제 모두 선택하려면 test1 열의 "테스트 값"인 경우 다음 SQL 쿼리를 사용해야 합니다.
SELECT test1 FROM [Sheet1$ ] WHERE test1='Test'
워크시트 이름 뒤에는 "$ 꼭 필요한 기호입니다. 왜냐면 앞뒤에 대괄호가 있기 때문이죠. 왜냐하면 "$는 SQL 문에 예약되어 있기 때문입니다.
다음은 예제 프로그램입니다.
import java.sql.Connection;import java.sql.Statement; import java.sql.ResultSet; import java.sql.DriverManager; public 클래스 ExcelReader { public static void main( String[] args ) { Connection c = null; Statement stmnt = null; try { Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); c = DriverManager. getConnection( "jdbc:odbc:Book1", "", "" ); stmnt = c.createStatement(); String query = "[Sheet1$] WHERE test1='test'"에서 test1 선택; ResultSet rs = stmnt.executeQuery( query ); System.out.println( "'test'와 일치하는 test1의 기록:" ); while( rs.next() ) { System.out.println( rs.getString( " test1" ) ); } } catch( 예외 e ) { System.err.println( e ); } 마지막으로 { try { stmnt.close(); c.close(); } catch( Exception e ) { System.err.println( e ); } } } }
|
이 프로그램에서 주 함수 main()은 데이터 테이블에 대한 연결을 설정하고, 기준에 맞는 기록을 제거합니다.
(역자 주: 게다가 여기에도 프로그램이 있는데, 참고용으로 모든 기록을 읽어주는 프로그램입니다.):
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());
}
}
}
|
위 내용은 Java를 사용하여 Excel 파일 내용을 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!