ここにいくつかの問題があります。私のExcelドキュメントを読みたいのですが、読みたくない行がある場合は、読み飛ばしてください。ここに私のExcelの例は次のとおりです。行3 excel exampleJAVA - 特定の行からExcelを読み取る
から開始し、ここに私のコードは私が私のJavaプログラムが読みたいと仮定することができます:私たちは、ユーザまたはクライアントのドキュメントを知っていることはないと仮定し
public static void main(String[] args) {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection(dbconnection+","+dbusername+","+dbPass);
con.setAutoCommit(false);
PreparedStatement pstm = null ;
File file = new File(filepath);
FileInputStream input = new FileInputStream(file);
System.out.println(file);
if (!file.toString().contains("xlsx")){
System.out.println("hssf");
POIFSFileSystem fs = new POIFSFileSystem(input);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheeth = wb.getSheetAt(0);
Row row;
for(int i=0; i<=sheeth.getLastRowNum(); i++){
row = sheeth.getRow(i);
int id = (int) row.getCell(0).getNumericCellValue();
String nama = row.getCell(1).getStringCellValue();
String rm = row.getCell(2).getStringCellValue();
String nama_ro = row.getCell(3).getStringCellValue();
String no_pks = row.getCell(4).getStringCellValue();
String ket = row.getCell(5).getStringCellValue();
String lob = row.getCell(6).getStringCellValue();
String sql = "INSERT INTO testdatapks VALUES('"+id+"','"+nama+"','"+rm+"','"+nama_ro+"','"+no_pks+"','"+ket+"','"+lob+"')";
pstm = (PreparedStatement) con.prepareStatement(sql);
pstm.execute();
System.out.println("Import rows "+i);
}
con.commit();
pstm.close();
con.close();
input.close();
System.out.println("Success import excel to mysql table");
}
、彼/彼女は、あらゆる行から値が始まるような優れたものを作ることができます。彼が4列目から値のスタートをアップロードした場合はどうでしょうか?または行5?多分最初の行ですか? 誰かが私にそれを手伝ってもらえますか?有効なIDは、あなたのtestdatapksテーブルに挿入する前に存在する場合
「i = 0」を「i = 2」に変更してください。 –
はい、ユーザーやクライアントがもう一方のエクセルをアップロードするタイミングはわかりません。彼が4列目から値のスタートをアップロードした場合はどうでしょうか?または行5?多分最初の行ですか? – Diastowo