Beispiel:
Code: Alles auswählen
"04.01.2017 08:05:00";"Artikel1";"150";"131.2";"5";"0.2";"-793.6"
Code: Alles auswählen
OldFormat, MyFormat : TFormatSettings;
.......
sWorkbookSource1.Worksheet.Clear;
// store old format and change format for import
OldFormat:= sWorkbookSource1.Workbook.FormatSettings;
MyFormat.DecimalSeparator:='.';
MyFormat.ThousandSeparator:= ' ';
MyFormat.TimeSeparator:=':';
MyFormat.DateSeparator:='.';
MyFormat.ShortDateFormat:='dd.mm.yy';
sWorkbookSource1.Workbook.FormatSettings := MyFormat;
.....
sWorkbookSource1.Worksheet.WriteCellValueAsString(j, i, Q_Daten.Fields[i].AsString);
.....
// Restore Settings
sWorkbookSource1.Workbook.FormatSettings:= OldFormat;
Ich habe mir schon überlegt die procedure TsWorksheet.WriteCellValueAsString(ACell: PCell; AValue: String); zu erweitern, so das ich auch NUR für die Eingabe das Format angeben kann. Denn in der Procedure ist das ja sauber getrennt, nur halt von den aktuellen Einstellung abgeleitet.
Gibt es eine bessere Idee wie man das Stabil hinbekommen kann ?
Andreas