我尝试使用Java NetBeans将Excel文件.xls
上传到我的MySQL数据库,但我找不到任何解决方案。
我尝试使用CSV文件并且工作正常,但我仍然希望使用.xls
文件格式。
为实现此目的,我希望用户单击JButton
中的JFrame
,使用JFileChooser
选择Excel文件,然后将该文件保存到我的数据库中。
以下是我目前拥有的图片:
这是我到目前为止使用的代码:
private void importer_csv_btnActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
String filename = f.getAbsolutePath();
import_interne_txt.setText(filename);
try {
BufferedReader br = new BufferedReader(new FileReader(filename));
String line;
while ((line = br.readLine()) != null) {
String[] value = line.split(",");
String sql = "INSERT INTO Interne(Matricule,Nom,Prénom,Sexe,Date_naissance,Nationalité,Lieu_naissance,Willaya,Email,Moyenne1,Moyenne2,Redoublement,Conseil,Num_Phone,Password,CPI_Code) " + "VALUES('" + value[0] + "','" + value[1] + "','" + value[2] + "','" + value[3] + "','" + value[4] + "','" + value[5] + "','" + value[6] + "','" + value[7] + "','" + value[8] + "','" + value[9] + "','" + value[10] + "','" + value[11] + "','" + value[12] + "','" + value[13] + "','" + value[14] + "','" + value[15] + "')";
pst = Con.prepareStatement(sql);
pst.executeUpdate();
}
br.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
Update_table();
}
答案 0 :(得分:0)
使用Apache POI从xls文件中读取数据。
示例:
public extractDataFromXls(String fileName, sheetName) throws FileNotFoundException {
FileInputStream fileInputStream = new FileInputStream(fileName);
HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
HSSFSheet worksheet = workbook.getSheet(sheetName);
HSSFRow row = worksheet.getRow(0);
for (short i = 0; i < 5; i++) {
HSSFCell cell = row.getCell(i);
String value = cell.getStringCellValue();
System.out.println(value);
}
}