Ok questa è la classe per l'esportazione:
codice:
import java.io.*;
import javax.swing.*;
import javax.swing.table.TableModel;
public class ExcelExporter {
public ExcelExporter() {
}
public void exportTable(JTable table1, JTable table2, JComboBox combo1, JComboBox combo2, JComboBox combo3, JTextArea lat, JTextArea lon, JTextArea radiazione, JTextArea inclinazione, JTextArea azimuth, File file) throws IOException {
ComboBoxModel box1 = combo1.getModel();
ComboBoxModel box2 = combo2.getModel();
ComboBoxModel box3 = combo3.getModel();
TableModel model1 = table1.getModel();
TableModel model2 = table2.getModel();
FileWriter out = new FileWriter(file);
try (BufferedWriter bw = new BufferedWriter(out)) {
bw.write("Citta : " + box1.getSelectedItem().toString() + "\n");
bw.write("Latitudine : " + lat.getText() + "\t\t\t" + "Longitudine : " + lon.getText() + "\n");
bw.write("Database di radiazione : " + box2.getSelectedItem().toString() + "\n");
bw.write("Condizioni di installazione : " + box3.getSelectedItem().toString() + "\n\n");
for (int i = 0; i < model1.getColumnCount(); i++) {
bw.write(model1.getColumnName(i) + "\t");
}
bw.write("\t");
for (int i = 0; i < model2.getColumnCount(); i++) {
bw.write(model2.getColumnName(i) + "\t");
}
bw.write("\n");
for (int i = 0; i < model1.getRowCount(); i++) {
for (int j = 0; j < model1.getColumnCount(); j++) {
bw.write(model1.getValueAt(i, j).toString() + "\t");
}
bw.write("\t");
for (int j = 0; j < model2.getColumnCount(); j++) {
bw.write(model2.getValueAt(i, j).toString() + "\t");
}
bw.write("\n");
}
bw.write("\n");
bw.write("Radiazione Annuale : " + radiazione.getText() + "\n");
bw.write("Inclinazione ottimale : " + inclinazione.getText() + "\n");
bw.write("Azimuth : " + azimuth.getText() + "\n");
}
System.out.println("write out to: " + file);
}
}
e qui dove la utilizzo:
codice:
private void esportaActionPerformed(java.awt.event.ActionEvent evt) {
try {
ExcelExporter exp = new ExcelExporter();
exp.exportTable(tabellaMesi, tabellaTermocoppia, menuCitta, menuRadiazione, menuCondizioni, latitudine, longitudine, radiazioneAnnuale, inclinazioneOttimale, azimuth, new File("C:\\Users\\utente\\Desktop\\file.xls"));
Desktop dt = Desktop.getDesktop();
dt.open(new File("C:\\Users\\utente\\Desktop\\file.xls"));
} catch (IOException e) {
e.getMessage();
}
}