#1 (permalink)  
Alt 09.09.2008, 20:42
Neuer Benutzer
 
Registriert seit: 30.08.2008
Beiträge: 6
Standard Anführungszeichen beim Import

Hallo,

Habe noch ein Problem mit den Texttrennern beim Importieren meiner Artikel.

Wir haben manche Artikel, die in der Beschreibung oder im Titel mit Anführungszeichen arbeiten ("). Selbst wenn ich jetzt als Texttrenner z.B. ~ oder ³ verwende (und das ebenfalls bei xtc so angebe!) stellt das Script immer ein \ vor das ". Was läuft da schief? Als Trennzeichen verwende ich ;

Beispiel: So sieht es dann im Shop aus: Text1 \"Text2\" Text3

Weiß jemand einen Rat?

Gruß Gerd
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 09.09.2008, 23:32
tuvalu
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von gerdk Beitrag anzeigen
Beispiel: So sieht es dann im Shop aus: Text1 \"Text2\" Text3
Das ist ein Fehler im import-Modul. Angehängt eine modifizierte import.php (als zip-Archiv) aus dem Supportforum - also nicht von mir. Die Datei admin/includes/classes/import.php damit ersetzen. Oder mit z.B. WinMerge einen Vergleich mit der Originaldatei machen und nur die Änderungen übernehmen.

tuvalu

Geändert von tuvalu (25.02.2009 um 12:41 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 10.09.2008, 00:40
Neuer Benutzer
 
Registriert seit: 30.08.2008
Beiträge: 6
Standard

Hallo.

Super, vielen Dank, hat funktioniert.

Aber noch eine Frage. Wenn ich aus Excel heraus in eine CSV-Datei exportiere, dann macht er um Anführungszeichen in einem Titel ein weiteres Paar Anführungszeichen. Und beim Import der Artikel in XTC bleiben dann beide. Somit wird aus "text" dann ""text"". Kann man das auch irgendwie umgehen, ohne mit einem Editor die Datei zu bearbeiten, bevor man sie importiert?

Gruß Gerd
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 10.09.2008, 01:09
tuvalu
Gast
 
Beiträge: n/a
Standard

Keine Ahnung warum das so ist. Weiß jemand Bescheid?

tuvalu
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 11.09.2008, 15:59
xt:Commerce Support Kunde
 
Registriert seit: 19.06.2004
Beiträge: 6
Standard

Ich hab da mal ein Excel-Makro geschrieben, mittels welchem du CSV-Dateien aus Excel-Dateien schreiben kannst ...

'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''
' ExportToTextFile
' This exports a sheet or range to a text file, using a
' user-defined separator character.
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''
Public Sub ExportToTextFile(FName As String, _
Sep As String, SelectionOnly As Boolean, _
AppendData As Boolean)

Dim WholeLine As Variant
Dim FNum As Integer
Dim RowNdx As Long
Dim ColNdx As Integer
Dim StartRow As Long
Dim EndRow As Long
Dim StartCol As Integer
Dim EndCol As Integer
Dim CellValue As Variant
Dim tmpVal As Variant
Dim i As Integer



Application.ScreenUpdating = False
On Error GoTo EndMacro:
FNum = FreeFile

If SelectionOnly = True Then
With Selection
StartRow = .Cells(1).Row
StartCol = .Cells(1).Column
EndRow = .Cells(.Cells.Count).Row
EndCol = .Cells(.Cells.Count).Column
End With
Else
With ActiveSheet.UsedRange
StartRow = .Cells(1).Row
StartCol = .Cells(1).Column
EndRow = .Cells(.Cells.Count).Row
EndCol = .Cells(.Cells.Count).Column
End With
End If

If AppendData = True Then
Open FName For Append Access Write As #FNum
Else
Open FName For Output Access Write As #FNum
End If

For RowNdx = StartRow To EndRow
WholeLine = ""
For ColNdx = StartCol To EndCol
If Cells(RowNdx, ColNdx).Value = "" Then
'CellValue = Chr(34) & Chr(34)
CellValue = ""
Else
tmpVal = Mid(Cells(RowNdx, ColNdx).Value, 1) & ""
If (Len(tmpVal) > 200) Then
MsgBox tmpVal
MsgBox Mid(Cells(RowNdx, ColNdx).Value, 201), vbInformation, Len(Cells(RowNdx, ColNdx).Text)
tmpVal = ""
For i = 0 To Int(Len(Cells(RowNdx, ColNdx).Value) / 255)
tmpVal = tmpVal & Mid(Cells(RowNdx, ColNdx).Value, (i * 255) + 1, 255)
Next
MsgBox tmpVal, vbExclamation, "Mid-Test i=" & i & " - len(tmpVal)=" & Len(tmpVal)
End If

If InStr(tmpVal, """") > 0 Then
CellValue = "~" & Replace(tmpVal, """""", """") & "~"
Else
CellValue = tmpVal
End If
End If
WholeLine = WholeLine & CellValue & Sep
Next ColNdx
WholeLine = Left(WholeLine, Len(WholeLine) - Len(Sep))
'WholeLine = Replace(WholeLine, """""", """")

Print #FNum, WholeLine
Next RowNdx

EndMacro:
On Error GoTo 0
Application.ScreenUpdating = True
Close #FNum

End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''
' END ExportTextFile
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''

Sub DoTheExport()
ExportToTextFile "Test2.csv", "|", False, False
End Sub


-----------------
Einfach obigen vbCode in die Excel-Datei einfügen und das Makro "DoTheExport" ausführen - im oben angegebenen Fall wird eine Datei Test2.csv geschrieben mit dem Separator "|" und Texterkennungszeichen "~" (letzteres wird allerdings nur geschrieben, wenn tatsächlich notwendig) - das darf man anpassen :-) (nicht vergessen: entsprechende Importeinstellungen in xtCommerce-Admin konfigurieren)

Happy projects : Michael
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 11.09.2008, 16:02
xt:Commerce Support Kunde
 
Registriert seit: 19.06.2004
Beiträge: 6
Standard

... naja, ist ntürlich nicht alles selbst geschrieben sondern die Basis-Idee irgendwo in einem Forum gefunden ;-) (aber es funktioniert auch mit sehr grossen Texten :-) - und das ist schon eine echte Erhöhung der Schöpfungstiefe) ;-)

: Michael
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 11.09.2008, 22:20
Neuer Benutzer
 
Registriert seit: 30.08.2008
Beiträge: 6
Standard

Super , vielen Dank, werde es morgen mal ausprobieren.

Eigentlich kann man hervorragend aus Access exportieren, aber leider werden da alle Zahlen auf 2 Stellen nach dem Komma gekürzt. Das ist leider blöd, wenn man Gewichte mit 3 Stellen hat. Vielleicht weiß da ja jemand einen Rat.

Gruß Gerd
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 11.09.2008, 22:46
Neuer Benutzer
 
Registriert seit: 30.08.2008
Beiträge: 6
Standard

Hallo dekamerone.

War jetzt doch noch neugierig und habe es noch ausprobiert. Funktioniert gut, aber folgendes: Per Format habe ich den Verkaufspreis auf 4 Stellen nach dem Komma gestellt und über die Einstellungen von Excel, dass aus dem Komma ein Punkt wird. Wenn ich nun das Makro starte kommt es zu dem Ergebnis, dass in der Text2.csv wieder die 12 Stellen nach dem Komma sind, und auch der Punkt wird ignoriert und wieder das Komma gesetzt. Gibt es dafür noch eine Abhilfe? Ansonsten funktioniert es super.

Gruß Gerd
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 12.09.2008, 01:45
xt:Commerce Support Kunde
 
Registriert seit: 19.06.2004
Beiträge: 6
Standard

Hallo Gerd,

ich glaube bei mir sind alle Excel-Felder mit dem Datentyp "Text" gesetzt ? - Ansonsten könnte man natürlich auf die Zell-Formatierung als Zahl testen und dann punktformatierte 4-stellige Zahlen ausgeben - kein Hexenwerk, aber nicht mehr jetzt.
Probierst du's erst mal mit der Zellformatierung?

Ausserdem könnte man statt Cells(RowNdx, ColNdx).Value Cells(RowNdx, ColNdx).Text schreiben ... das gibt den Zellinhalt vielleicht wie gesehen zurück (eigentlich ja, vbScript evtl. ...)

Happy projects und viel Erfolg : Michael
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #10 (permalink)  
Alt 13.09.2008, 16:01
Neuer Benutzer
 
Registriert seit: 30.08.2008
Beiträge: 6
Standard

Hallo.

Vielen Dank. Da kann ich mich auch gut selber dranmachen. Somit noch mal vielen Dank für das Script.

Gruß Gerd
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
anführungszeichen, import

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler Beim Import Meiner Rechnungen Aus Osc andreas2k Installation und Konfiguration 4 24.01.2006 16:45


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand