Hallo
Ich hab zur Zeit einen Filechooser der das Speichern von Werten in einer JTable realisiert. Jedoch wird das Speichern in einer dat File realisiert und ich möchte dies nun über excel realisieren. Jedoch bekomme ich es nicht hin. Hab hier auch schon die Beiträge im Forum angeschaut aber irgendwie klappt das nicht.
Naja poste mal meinen chooser zum speichern und zum Laden vll. könnt ihr mir helfen
zum speichern :
zum Laden:
Danke schonmal
Ich hab zur Zeit einen Filechooser der das Speichern von Werten in einer JTable realisiert. Jedoch wird das Speichern in einer dat File realisiert und ich möchte dies nun über excel realisieren. Jedoch bekomme ich es nicht hin. Hab hier auch schon die Beiträge im Forum angeschaut aber irgendwie klappt das nicht.
Naja poste mal meinen chooser zum speichern und zum Laden vll. könnt ihr mir helfen
zum speichern :
Java:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import javax.swing.*;
public class SaveDlg1 implements java.io.Serializable
{
/**
*
*/
private static final long serialVersionUID = 995479100197063150L;
public SaveDlg1()
{
JFileChooser chooser = new JFileChooser();
int state = chooser.showSaveDialog(null);
File file = chooser.getSelectedFile();
if (file != null && state == JFileChooser.APPROVE_OPTION)
{
try
{
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file,true));
PrintWriter fileWriter = new PrintWriter(bufferedWriter);
for(int i=0; i<Tab1.model.getRowCount(); ++i)
{
for(int j=0; j<Tab1.model.getColumnCount(); ++j)
{
String s = Tab1.model.getValueAt(i,j).toString();
fileWriter.print(s);
s = ";";
fileWriter.print(s);
}
fileWriter.println("");
}
fileWriter.close();
JOptionPane.showMessageDialog(null, "Success");
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Error! File not saved!");
}
}
}
}
zum Laden:
Java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class OpenDlg implements java.io.Serializable
{
/*Filechooser zum anzeigen des Öffnen Dialogs. Über diese Klasse wird das Öffnen
* der abgespeicherten Datei angezeigt.
*
*/
private static final long serialVersionUID = 915843060358108783L;
//
// Übergabe Variable der jeweiligen Zeilen aus der Datei
String zeile = "";
//
// Den Konstruktor für die Variable angeben
public OpenDlg() throws ClassNotFoundException
{
//
// Das Dialogfenster als Filechooser definieren
JFileChooser chooser = new JFileChooser();
//
// Den Filechooser als Öffnen-Dialogfeld definieren
int state = chooser.showOpenDialog(null);
//
// Die gewählte Datei in den Programmcode übertragen
File file = chooser.getSelectedFile();
//
// Eine Integer Variable für die Spaltenanzahl angeben
int i = 0;
//
// Ein String[] für die Daten angeben und initialisieren
String[] rowData = null;
//
// Den Renderer an die Tabs anmelden
Tab1.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
Tab2.table.getColumnModel().getColumn(3).setCellRenderer( new MyRenderer() );
Tab2.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
Tab3.table.getColumnModel().getColumn(3).setCellRenderer( new MyRenderer() );
Tab3.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
Tab4.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
Tab5.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
Tab6.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
Tab7.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
Tab8.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
Tab9.table.getColumnModel().getColumn(4).setCellRenderer( new MyRenderer() );
//
// Die Daten aus der Datei ins erste Tab übertragen
try
{
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
if (file != null && state == JFileChooser.APPROVE_OPTION)
{
String zeile = null;
while((zeile = br.readLine()) != null)
{
rowData = zeile.split(";");
Tab1.model.addRow(rowData);
i = i + 1;
}
}
//
// Alle Umsätze zusammenrechnen
double gesamt = 0;
for (int q = 0;q < Tab1.model.getRowCount(); q++)
{
String speicher = (String) ((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4);
double speicher1 = Double.valueOf(speicher);
gesamt = gesamt + speicher1;
String total = String.valueOf(gesamt);
Tab1.total.setText(total);
}
//
// Einfügen der Spalten in die Unterkonten
for (int q = 0;q < Tab1.model.getRowCount(); q++)
{
if (Tab1.model.getValueAt(q, 6).equals("7.1"))
{
String columnOne = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 1));
String columnTwo = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 2));
String columnThree = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 3));
String columnFour = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4));
String columnFive = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 5));
String columnSix = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 6));
String columnSeven = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 7));
Vector<String> obj = new Vector<String>();
int speicher = Tab4.model.getRowCount() + 1;
obj.addElement(Integer.toString(speicher));
obj.addElement(columnOne);
obj.addElement(columnTwo);
obj.addElement(columnThree);
obj.addElement(columnFour);
obj.addElement(columnFive);
obj.addElement(columnSix);
obj.addElement(columnSeven);
Tab4.model.addRow(obj);
}
if (Tab1.model.getValueAt(q, 6).equals("7.2"))
{
String columnOne = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 1));
String columnTwo = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 2));
String columnThree = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 3));
String columnFour = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4));
String columnFive = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 5));
String columnSix = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 6));
String columnSeven = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 7));
Vector<String> obj = new Vector<String>();
int speicher = Tab4.model.getRowCount() + 1;
obj.addElement(Integer.toString(speicher));
obj.addElement(columnOne);
obj.addElement(columnTwo);
obj.addElement(columnThree);
obj.addElement(columnFour);
obj.addElement(columnFive);
obj.addElement(columnSix);
obj.addElement(columnSeven);
Tab4.model.addRow(obj);
}
if (Tab1.model.getValueAt(q, 6).equals("7.3"))
{
String columnOne = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 1));
String columnTwo = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 2));
String columnThree = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 3));
String columnFour = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4));
String columnFive = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 5));
String columnSix = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 6));
String columnSeven = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 7));
Vector<String> obj = new Vector<String>();
int speicher = Tab4.model.getRowCount() + 1;
obj.addElement(Integer.toString(speicher));
obj.addElement(columnOne);
obj.addElement(columnTwo);
obj.addElement(columnThree);
obj.addElement(columnFour);
obj.addElement(columnFive);
obj.addElement(columnSix);
obj.addElement(columnSeven);
Tab4.model.addRow(obj);
}
if (Tab1.model.getValueAt(q, 6).equals("7.4"))
{
String columnOne = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 1));
String columnTwo = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 2));
String columnThree = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 3));
String columnFour = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4));
String columnFive = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 5));
String columnSix = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 6));
String columnSeven = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 7));
Vector<String> obj = new Vector<String>();
int speicher = Tab4.model.getRowCount() + 1;
obj.addElement(Integer.toString(speicher));
obj.addElement(columnOne);
obj.addElement(columnTwo);
obj.addElement(columnThree);
obj.addElement(columnFour);
obj.addElement(columnFive);
obj.addElement(columnSix);
obj.addElement(columnSeven);
Tab4.model.addRow(obj);
}
if (Tab1.model.getValueAt(q, 6).equals("7.5"))
{
String columnOne = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 1));
String columnTwo = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 2));
String columnThree = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 3));
String columnFour = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4));
String columnFive = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 5));
String columnSix = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 6));
String columnSeven = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 7));
Vector<String> obj = new Vector<String>();
int speicher = Tab4.model.getRowCount() + 1;
obj.addElement(Integer.toString(speicher));
obj.addElement(columnOne);
obj.addElement(columnTwo);
obj.addElement(columnThree);
obj.addElement(columnFour);
obj.addElement(columnFive);
obj.addElement(columnSix);
obj.addElement(columnSeven);
Tab4.model.addRow(obj);
}
if (Tab1.model.getValueAt(q, 6).equals("7.6"))
{
String columnOne = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 1));
String columnTwo = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 2));
String columnThree = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 3));
String columnFour = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4));
String columnFive = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 5));
String columnSix = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 6));
String columnSeven = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 7));
Vector<String> obj = new Vector<String>();
int speicher = Tab4.model.getRowCount() + 1;
obj.addElement(Integer.toString(speicher));
obj.addElement(columnOne);
obj.addElement(columnTwo);
obj.addElement(columnThree);
obj.addElement(columnFour);
obj.addElement(columnFive);
obj.addElement(columnSix);
obj.addElement(columnSeven);
Tab4.model.addRow(obj);
}
if (Tab1.model.getValueAt(q, 6).equals("10.1"))
{
Vector<String> str = new Vector<String>();
int speicher = Tab2.model.getRowCount() + 1;
str.addElement(Integer.toString(speicher));
String columnOne = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 1));
str.addElement(columnOne);
String columnFour = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4));
double test = Double.valueOf(columnFour);
double einnahmen = 0;
double betrag = 0;
if(test > 0)
{
str.addElement(columnFour);
str.addElement("0");
einnahmen = Double.valueOf(columnFour);
betrag = 0;
}
if(test < 0)
{
str.addElement("0");
str.addElement(columnFour);
betrag = Double.valueOf(columnFour);
einnahmen = 0;
}
if(Tab2.model.getRowCount() == 0)
{
str.addElement(columnFour);
}
else
{
int rowcount = Tab2.model.getRowCount() - 1;
double bestand = Double.valueOf((String)((DefaultTableModel)Tab2.table.getModel()).getValueAt(rowcount, 4)) + einnahmen + betrag;
str.addElement(String.valueOf(bestand));
}
String columnSix = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 6));
String columnSeven = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 7));
str.addElement(columnSix);
str.addElement(columnSeven);
Tab2.model.addRow(str);
}
if (Tab1.model.getValueAt(q, 6).equals("10.2"))
{
Vector<String> str = new Vector<String>();
int speicher = Tab3.model.getRowCount() + 1;
str.addElement(Integer.toString(speicher));
String columnOne = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 1));
str.addElement(columnOne);
String columnFour = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 4));
double test = Double.valueOf(columnFour);
double einnahmen = 0;
double betrag = 0;
if(test > 0)
{
str.addElement(columnFour);
str.addElement("0");
einnahmen = Double.valueOf(columnFour);
betrag = 0;
}
if(test < 0)
{
str.addElement("0");
str.addElement(columnFour);
betrag = Double.valueOf(columnFour);
einnahmen = 0;
}
if(Tab3.model.getRowCount() == 0)
{
str.addElement(columnFour);
}
else
{
int rowcount = Tab3.model.getRowCount() - 1;
double bestand = Double.valueOf((String)((DefaultTableModel)Tab3.table.getModel()).getValueAt(rowcount, 4)) + einnahmen + betrag;
str.addElement(String.valueOf(bestand));
}
String columnSix = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 6));
String columnSeven = ((String)((DefaultTableModel)Tab1.table.getModel()).getValueAt(q, 7));
str.addElement(columnSix);
str.addElement(columnSeven);
Tab3.model.addRow(str);
}
}
}
catch (FileNotFoundException e)
{
JOptionPane.showMessageDialog(null, "Error! File not opened!");
}
catch (IOException e)
{
JOptionPane.showMessageDialog(null, "Error! File not opened!");
}
}
}
Danke schonmal