[gelöst] Sonderzeichen nach Excel-Import

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.

Re: Sonderzeichen nach Excel-Import

3. November 2010 10:51

Das schaut nach dem Ascii-Wert 13 aus. Um den müsstest du die beiden Texte zur Umwandlung noch erweitern.