Wsparcie » Wtyczki » Problem z separatorem oraz cudzysłowiem – CSV WooCommerce

  • Rozwiązany wpwc2019

    (@wpwc2019)


    Bry,

    Jak w temacie… Potrzebuję robić pliki CSV do importu produktów z Excela. Pierwszym problemem z jakim się spotkałem był brak „” w komórkach pliku do importu. Poradziłem sobie tym makrem ze strony:

    https://docs.microsoft.com/en-us/office/troubleshoot/excel/export-text-file-with-comma-quote

    Problemem jest to, że utworzony w ten sposób plik sprawia, że każda komórka zapisana jest z „” i przez to produkty z wariantami nie są wczytywane poprawnie. Zanim zacznę pisać odpowiednie makro czy może ktoś spotkał się z tego typu problemem i ma rozwiązanie by WooCommerce importował plik CSV z wariantami gdzie każda komórka jest z „”?

    Przykład jak to wygląda po otwarciu w Notepad++:

    https://i.ibb.co/vLm7ZDp/csv.png

    Tak jak wspomniałem, importowany produkt nie mający wariantów wczytuje się bez problemu. W momencie wystąpienia wariantów produkt wczytuje się, ale bez wariantów.

    Z góry dziękuję za pomoc.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Wystarczy sobie tylko ustawić odpowiedni format komórek kolumnami – tekst/liczba i w eksporcie do csv powinieneś mieć to co trzeba w cudzysłowie, a co nie trzeba – bez.
    Ewentualnie wymusić własnym formatem http://lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/

    Nie widzę tam specjalnie potrzeby używania makr.

    Brzmi ok, ale nie zadziała, bo problem jest taki, że w zależności od produktu komórka w kolumnie raz jest liczbowa a raz nie, przykład:

    https://i.ibb.co/mCqKJ3G/inne.png

    Więc gdyby to się tyczyło nawet jednorazowego przypadku to jeszcze bym się pokusił o zrobienie tego ręcznie. Ale chodzi o częste generowanie takiego pliku gdzie produkty są zróżnicowane.

    Inaczej – bo z tym tekst/liczba trochę uprościłem.
    W csv na dobra sprawę nie potrzeba cudzysłowiu, nawet dla tekstu.
    -jedynymi koniecznymi przypadkami jest sytuacja, gdy komórka zawiera np. znak rozdzielający – tutaj przecinek, czy dane w formie zserializowanej (też z przecinkiem).

    Importer bez problemu łyknie np. taką formę: 292,1,,Ala ma kota,3,czarny
    Ale gdy w którymś miejscu pojawia się przecinek, trzeba w cudzysłów: 293,0,,”Ola ma psa, może kota też”,”1,3″,biały
    Arkusze kalkulacyjne to z automatu ogarniają właściwie na standardowych ustawieniach przy zapisie, choć można własnym formatem wymusić.
    Więc tutaj nie powinno być problemu z csv wyplutą z Excela.

    Widzę dwie możliwości
    1. sam lepisz tego csv z pliku Excela jakimś zewnętrznym skryptem ….i tutaj już może być zgrzyt gdy nie wyescape’ujesz stringa ze znakiem rozdzielającym biorąc go w cudzysłów / lub w druga stronę, gdy dowalisz automatem wszędzie cudzysłów -nawet tam, gdzie on już był.
    2. plik csv jest ok, a popełniasz jakiś błąd w ustawieniach dopiero na etapie importu

    Zwracam honor, nie wiem jak to robiłem, że nie działało, ale importer bez problemu sobie poradził bez cudzysłowów. Może coś namieszałem w ustawieniach bo za bardzo grzebałem w excelu. Tak czy siak dzięki @adpawl za odpowiedź. Przynajmniej nauczyłem się VBA co za pewne się przyda 🙂

Viewing 4 replies - 1 through 4 (of 4 total)