J
jane
Gast
Folgendes Problem. Ich hab mir eine Klasse geschrieben die wie folgt beschrieben warden kann:
Die Klasse ermöglicht es Informationen zu speichern. Während der Laufzeit können diese Informationen an das Objekt übergeben werden und bei Bedarf geschrieben werden.
Die Daten für die Excel Datei werden in einem dynamischen zweidimensionalen Vector gespeichert. Die erste Dimension des Vectors stellt hier eine Zeile dar, während die zweite Dimension die Spalteninformationen enthält. Zu beachten ist das eine neue Zeile erst über eine Methode erstellt werden muss bevor darin die Spaltendaten gespeichert werden können.
Nun möchte ich mit der Klasse einmal alle Aktionen Loggen (xy erfolgreich hochgeladen bla bla) und in einem Excel File speichern. Dann soll es noch eine Excel Datei mit allen Fehlern geben. In der Anwendung definiere ich das ganze so:
Wenn ich nun aber den Befehl zum Schreiben gebe, also:
Nun steht in beiden Dateien exakt der gleiche Inhalt, woran liegt das? Ich hab mir in der Konsole auch mal den Vektorinhalt ausgeben lassen, der ist exakt der gleiche… Hier noch der Code zum LogWriter:
Die Klasse ermöglicht es Informationen zu speichern. Während der Laufzeit können diese Informationen an das Objekt übergeben werden und bei Bedarf geschrieben werden.
Die Daten für die Excel Datei werden in einem dynamischen zweidimensionalen Vector gespeichert. Die erste Dimension des Vectors stellt hier eine Zeile dar, während die zweite Dimension die Spalteninformationen enthält. Zu beachten ist das eine neue Zeile erst über eine Methode erstellt werden muss bevor darin die Spaltendaten gespeichert werden können.
Nun möchte ich mit der Klasse einmal alle Aktionen Loggen (xy erfolgreich hochgeladen bla bla) und in einem Excel File speichern. Dann soll es noch eine Excel Datei mit allen Fehlern geben. In der Anwendung definiere ich das ganze so:
Code:
LogWriter LWrt = new LogWriter();
LogWriter LogAction = new LogWriter();
Wenn ich nun aber den Befehl zum Schreiben gebe, also:
Code:
LogAction.writeEx("LogAction"+getTime()+".xls", "Actions");
LWrt.writeEx("ErrLog.xls", "Errors");
Nun steht in beiden Dateien exakt der gleiche Inhalt, woran liegt das? Ich hab mir in der Konsole auch mal den Vektorinhalt ausgeben lassen, der ist exakt der gleiche… Hier noch der Code zum LogWriter:
Code:
public class LogWriter {
static Vector<Vector> ExSheet = new Vector();
public void addExRow ()
{
ExSheet.add(new Vector());
}
public void addCellContent(int row, String content)
{
ExSheet.elementAt(row).add(content);
}
public void writeEx(String WorkBook, String SheetName) throws IOException
{
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet(SheetName);
for(int i = 0; i < ExSheet.size(); i++)
{
for(int j = 0; j < ExSheet.elementAt(i).size(); j++)
{
HSSFRow row = sheet.createRow((short)i);
row.createCell((short)j).setCellValue(ExSheet.elementAt(i).elementAt(j).toString());
}
}
FileOutputStream fileOut = new FileOutputStream(WorkBook);
wb.write(fileOut);
fileOut.close();
}
public static final String getTime()
{
Calendar neuer = Calendar.getInstance();
SimpleDateFormat datum = new SimpleDateFormat("dd'-'MM'-'yyyy' 'HH'-'mm'-'ss");
datum.getDateInstance();
return datum.format(neuer.getTime());
}
}