ホームページ  >  記事  >  Java  >  Javaを使用してExcelファイルの内容を読み取る方法

Javaを使用してExcelファイルの内容を読み取る方法

WBOY
WBOY転載
2023-05-02 10:31:172313ブラウズ

質問: Java を使用して Excel ファイルを読み取ることはできますか?もしそうなら、どのようにして?
回答: はい、Microsoft Excel ファイルは Java を使用して読み取ることができます。 Microsoft は Excel 用の ODBC ドライバーを提供しているため、JDBC および Sun の JDBC-ODBC ドライバーを使用して Excel ファイルを読み取ることができます。
Book1.xls という名前の Excel ファイル (翻訳者注: 元の例をダウンロードしなかったので、独自の例を使用しました) があり、そのファイル内に Sheet1 という名前のワークシートがある場合、Microsoft の ODBC ドライバーは最初のワークシートを使用します。ワークシート内の行を列名 (翻訳者注: フィールド名) として使用し、ワークシート名をデータベース テーブル名として使用します。 JDBC 経由でワークシートにアクセスするには、新しい ODBC データ ソースも作成する必要があります。Windows 2000 システムでデータ ソースを作成するプロセスは次のとおりです。

「コントロール パネル」「管理ツール」「データ ソース」と入力します。 ODBC)、(翻訳者注: 開いた後にシステム DSN を選択してください)、[追加] をクリックし、ポップアップ ウィンドウで「Driver do Microsoft Excel(*.xls)

」を選択し、データに名前 Book1 を入力します。ソース名 (翻訳者注: データベース名と同じです) をクリックし、[ワークブックを選択し、Excel ファイルを見つけて選択します。

OK をクリックすると、設定したデータ ソース名がシステム データ ソース リストに表示されます。 、そして今度はデータテーブルです これはすでにデータソースリストにあります (翻訳者注: [OK] をクリックして構成を完了します)。

(翻訳者注: 私の例では) ここで、すべての「テスト」を選択したい場合、 test1 列に「values」を追加した場合は、次の 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 class 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 = "SELECT test1 FROM [Sheet1$] WHERE test1='test'";
ResultSet rs = stmnt.executeQuery( query );
System.out.println( "「test」に一致する test1 のレコードが見つかりました:" );
while( rs.next() ) {
System.out.println( rs.getString( " test1" ) );
}
}
catch( Exception e ) {
System.err.println( e );
}
finally {
try {
stmnt.close();
c.close();
}
catch(例外 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。