3. November 2010 09:09
Hallo,
ich habe eine Excel-Tabelle, die z.T. besonders formatiert ist. Es sind z.B. Zellen vertikal verbunden.
Bild1.png
Diese Tabelle habe ich als Text (Tabstop getrennt) exportiert und mit einem Dataport eingelesen. Im Dataport selber habe ich Konvertierungen vorgenommen.
ExcelSonderzeichen[1] := 196;
ExcelSonderzeichen[2] := 214;
ExcelSonderzeichen[3] := 220;
ExcelSonderzeichen[4] := 223;
ExcelSonderzeichen[5] := 228;
ExcelSonderzeichen[6] := 246;
ExcelSonderzeichen[7] := 252;
ExcelSonderzeichen[8] := 186;
ExcelSonderzeichen[9] := 179;
ExcelSonderzeichen[10] := 1;
ExcelSonderzeichen[11] := 205;
NaFinSonderzeichen := 'ÄÖÜßäöü§üßÖ';
TrueSonderzeichen := 'JjYyWw1+xX';
In after Import:
Generaltabelle.Feld1:=CONVERTSTR(Generaltabelle.Feld1,ExcelSonderzeichen,NaFinSonderzeichen);
Leider nimmt er mir ein Sonderzeichen mit in meine Importtabelle. Es steht an der Stelle, wo in Excel ein Zeilenumbruch stattfindet.
Nach dem Import sieht es in NAV so aus: (siehe Anhang)
Bild.png
Wie kann ich das Sonderzeichen vermeiden bzw. eliminieren?
Ich habe es anders nicht hinbekommen, aber so geht es wenigstens.
Cleantext(Txt : Text[250]) : Text[250]
FOR i := 1 TO 250 DO BEGIN
zeichen:=COPYSTR(Txt,i,1);
IF (NOT IstBuchstabe(zeichen)) AND (NOT IstZahl(zeichen)) AND (NOT IstSonderzeichen(zeichen)) THEN BEGIN
IF i = 1 THEN
Txt:=COPYSTR(Txt,2,250)
ELSE BEGIN
Txt:=COPYSTR(Txt,1,i-1) + COPYSTR(Txt,i+1,250);
END;
END;
END;
EXIT(Txt);
IstZahl(Objekt : Text[30]) : Boolean
Objekt:=COPYSTR(Objekt,1,1);
IF Objekt IN ['0','1','2','3','4','5','6','7','8','9'] THEN
EXIT(TRUE)
ELSE
EXIT(FALSE);
IstSonderzeichen(VAR Txt : Text[1]) : Boolean
IF Txt IN ['/','(',')','-',' ','+','.',':','_',';',',','*','#','!','?','=','"','@'] THEN
EXIT(TRUE)
ELSE
EXIT(FALSE);
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von rallnus am 4. November 2010 17:19, insgesamt 1-mal geändert.