Hier versuche ich JTable in Excel-Datei exportieren ... Ich habe keinen Fehler auf der Konsole erhalten ... aber auf Excel-Blatt habe ich nur Spaltennamen ... mein Ziel ist wollen Zeigen Sie die Datenbanktabelle in diesem JTable-Quadrat an, und darunter befindet sich die Export-Schaltfläche. Nach dem Klicken auf diese Schaltfläche sollte daher eine Excel-Datei erstellt werden, in der JTable angezeigt wird.Exportieren von JTable in Excel-Datei
seinen Platz erkannt tatsächliche Fehler
JButton btnExport = new JButton("Export");
btnExport.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
try
{
String query="Select * from client";
PreparedStatement pst=conn.prepareStatement(query);
ResultSet rs=pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Excel Sheet");
HSSFRow rowhead = sheet.createRow(0);
rowhead.createCell(0).setCellValue("Client_Vendor code");
rowhead.createCell(1).setCellValue("Client_Name");
rowhead.createCell(2).setCellValue("Purchaser_Name");
rowhead.createCell(3).setCellValue("User_Name");
rowhead.createCell(4).setCellValue("Sales_Engg");
int index=1;
while(rs.next())
{
HSSFRow row = sheet.createRow(index);
row.createCell(0).setCellValue(rs.getInt(1));
row.createCell(1).setCellValue(rs.getString(2));
row.createCell(2).setCellValue(rs.getString(3));
row.createCell(3).setCellValue(rs.getString(4));
row.createCell(4).setCellValue(rs.getString(5));
index++;
}
FileOutputStream fileOut = new FileOutputStream("e:/CLIENTDATA/client.xlsx");
wb.write(fileOut);
fileOut.close();
System.out.println("Data is saved in excel file.");
}
catch (Exception e)
{
e.printStackTrace();
}
Sie überschreiben grundsätzlich die Datei auf jeder Iteration des 'while (rs.next ()) 'Schleife, stattdessen schreiben Sie es nach der Schleife als abgeschlossen – MadProgrammer
@MadProgrammer ohhh .. ja vielen Dank .. – Vsal
Dbutils liest bis zum Ende der Ergebnismenge. Verwenden Sie es nicht, erstellen Sie das TableModel, während Sie das Resultset lesen – MadProgrammer