We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Schönen Sonntag zusammen Ich habe einmal eine Frage zum abspeichern meiner Daten in Excel. Das speichern geht ja nur ich möchte gerne mit dem abspeichern erst in der 8. Zeile beginnen, das bekomme ich nicht hin und beim abspeichern habe ich immer die Begrenzungszeichen sprich Gänsefüsschen mit abgespeichert, das sieht dann so aus:
, "Typ Schloss Stck. ","Schliess Nr. ","Nr ","Schluessel Stck ",Hauptschluessel Anzahl
1 0102- 1 2 6667 X,,,,,
1 0104- 2 2 6667 X,,,,,
1 0120- 3 2 6667 X,,,,,
1 0122- 4 2 6667 X,,,,,
1 0124- 5 2 6667 X,,,,,
1 0140- 6 2 6667 X,,,,,
1 0142- 7 2 6667 X,,,,,
1 0144- 8 2 6667 X,,,,,
1 0300- 9 2 6667 X,,,,,
1 0302- 10 2 6667 X,,,,,
1 0304- 11 2 6667 X,,,,,
1 0320- 12 2 6667 X,,,,,
1 0322- 13 2 6667 X,,,,,
1 0324- 14 2 6667 X,,,,,
1 0340- 15 2 6667 X,,,,,
1 0342- 16 2 6667 X,,,,,
1 0344- 17 2 6667 X,,,,,
1 2100- 18 2 6667 X,,,,,
1 2102- 19 2 6667 X,,,,,
1 2104- 20 2 6667 X,,,,,
der Code sieht so aus:
`void excel() { // func start
Table table;
String l1=" ";
String l2="Typ Schloss Stck. ";
String l3="Schliess Nr. ";
String l4="Nr ";
String l5="Schluessel Stck ";
String l6="Hauptschluessel Anzahl";
table = new Table();
table.addColumn(l1);
table.addColumn(l2);
table.addColumn(l3);
table.addColumn(l4);
table.addColumn(l5);
table.addColumn(l6);
for (int x=0; x<AT5; x++){
TableRow newRow = table.addRow();
newRow.setString(0,zeilen[x]);
saveTable(table, "Kunden/"+kdnr+" excel kompl.csv");
}
for (int xx=0; xx<zzz; xx++){
TableRow newRow = table.addRow();
newRow.setString(0,folge1[xx]);
saveTable(table, "Kunden/"+kdnr+" excel folge.csv");
datenspeicher();
}
} // func ende`
Answers
Hallo,
also erstmal grundsätzlich: Es hilft enorm, wenn du deinen Code fürs Forum formatierst. (Einfügen, markieren, dann auf das "C" in der Leiste klicken. Am besten davor und danach eine Leerzeile lassen).
Dann zu deinem Problem: Wenn du Leerzeichen am Anfang oder Ende eines Strings hast, werden beim Speichern automatisch Anführungszeichen eingefügt. Wenn du sie weglässt, hast du auch die Anführungszeichen nicht mehr. (Das gleich Problem hast du übrigens auch, wenn du Kommas oder Zeilenumbrüche in deinem String hast.)
Wenn du leere Zeilen zu beginn haben willst, dann darfst du keine Spalten mit Titel erzeugen. Erzeuge einfach 8 leere Zeilen mit addRow() und danach kannst du in der neunten Zeile deine Titel als String einfach ablegen.
Dann fällt mir noch etwas auf, das ziemlich seltsam ist, du speicherst die Tabelle nach jeder Zeile ab. Das kann eventuell ziemlich lange dauern. Es reicht völlig, wenn du das einmal ganz am Ende machst.
Hier mal eine Version mit Leerzeilen und ohne Anführungszeichen. Ich hab für die Titel auch ein Array verwendet, damit es weniger Schreibarbeit ist.
Danke für den Hinweis mit dem Formatieren des Codes, das kenne ich nicht so, im Arduino Forum ist es umgekehrt da muss man erst auf das c drücken und dann den Code dazwischen setzen. aber Gut jetzt weis ich es. Dein Beispiel hat mir sehr geholfen. Danke
benja , Ich habe noch einmal eine Frage. Wenn ich Dir auf die Nerven gehe , sage es mir :-) Wenn ich meine Daten in Excel abspeicher, habe ich die Möglichkeit wenn ich mir in Excel ein Datenblatt erstelle mit Kopfzeile in dem ein LOGO ist, von dem Programm aus zu bestimmen das er genau das Datenblatt nimmt, so das ich immer die Kopfzeile mit drin habe beim drucken. l.G.Jürgen
Und die Frage? Kenne mich mit Excel nicht so gut aus, wenn es darum geht wie man dort etwas macht, bin ich auf jeden Fall der falsche.
Hallo benja. Ich hänge hier an einem Problem fest. Ich möchte ein String Array mischen. in meinem Array "mix[]" welches ich mit String[] mix =new String[count]; aus einem größeren Array gemacht habe sind die Schliess Nr. enthalten die als letzte Folge Schliessungen ermittelt wurden. Die Größe des Array`s variiert immer in der Größe wie der Kunde nach bestellt. Das Array mix[] soll gemischt werden, da komme ich nicht mit zurecht. Ich habe schon im Internet gesucht aber ich bergreife es einfach nicht. Gibt es eine einfache Lösung ein String Array zu mischen, so das keine Doppelten Strings in dem Array vorkommen ?
l.G.Jürgen
du meinst das zufällige ändern der Reihenfolge
der Strings im Array
siehe shuffle