Pułapki eksportu - wartości testowe

Wartości, które przechodzą walidację i psują się dopiero w wyeksportowanym pliku. 12 wartości, każda z tym, co psuje, i z tym, co zamiast tego robi poprawna aplikacja.

export-breakers wersja 1.0, aktualizacja 2026-09-24 CC-BY-4.0

Wpisuj je po jednej skrótem AltShiftN w palecie albo weź wszystkie do skryptu poleceniem nkb emit export-breakers.

Wartość zaczynająca się od =

export-breakers/formula-equals
=1+1 =1+1
  • 4 grafemy
  • 4 punkty kodowe
  • 4 bajty
  • 4 jednostki UTF-16
Co psuje
Wartość zaczynającą się od znaku równości arkusz kalkulacyjny traktuje jak formułę. Wyeksportowany plik pokazuje wynik obliczenia zamiast danych.
Co robi poprawna aplikacja
Escapowana przy eksporcie, żeby arkusz pokazał tekst tak, jak został wpisany.

Kod, który wygląda jak data

export-breakers/sheet-date-mar1
MAR1 MAR1
  • 4 grafemy
  • 4 punkty kodowe
  • 4 bajty
  • 4 jednostki UTF-16
Co psuje
Arkusze kalkulacyjne zamieniają krótkie kody podobne do dat na daty, a pierwotnej wartości nie da się odzyskać z pliku.
Co robi poprawna aplikacja
Wyeksportowany jako tekst, w kolumnie o typie, który wyklucza konwersję.

Przecinek w wartości

export-breakers/csv-comma
Kowalski,Jan Kowalski, Jan
  • 13 grafemów
  • 13 punktów kodowych
  • 13 bajtów
  • 13 jednostek UTF-16
Co psuje
Przecinek w wartości dzieli jedną kolumnę na dwie, chyba że na każdym etapie eksportu wartość jest poprawnie ujęta w cudzysłów.
Co robi poprawna aplikacja
Wartość ujęta w cudzysłów przy eksporcie. Plik wczytuje się z powrotem z tą samą liczbą kolumn.

Cudzysłowy w wartości

export-breakers/csv-quote
Jan"Janek"Kowalski Jan "Janek" Kowalski
  • 20 grafemów
  • 20 punktów kodowych
  • 20 bajtów
  • 20 jednostek UTF-16
Co psuje
Cudzysłowy w wartości ujętej w cudzysłów trzeba podwoić. Błąd przesuwa każdą następną kolumnę.
Co robi poprawna aplikacja
Wartość ujęta w cudzysłów i escapowana tak, że zapis i odczyt zwracają pierwotny tekst.

Podział wiersza w wartości

export-breakers/csv-newline
JanKowalski Jan\u000AKowalski
  • 1 podział wiersza
  • 12 grafemów
  • 12 punktów kodowych
  • 12 bajtów
  • 12 jednostek UTF-16
Co psuje
Podział wiersza w wartości zamienia jeden wiersz w dwa dla każdego parsera, który dzieli tekst na wiersze przed parsowaniem.
Co robi poprawna aplikacja
Wartość ujęta w cudzysłów, żeby rekord został jednym wierszem, albo odrzucona przy wprowadzaniu.

Dziewiętnastocyfrowy identyfikator

export-breakers/sheet-precision
1234567890123456789 1234567890123456789
  • 19 grafemów
  • 19 punktów kodowych
  • 19 bajtów
  • 19 jednostek UTF-16
Co psuje
Arkusze kalkulacyjne zachowują około piętnastu cyfr znaczących, więc długie identyfikatory wracają zaokrąglone i w zapisie wykładniczym.
Co robi poprawna aplikacja
Wyeksportowany jako tekst. Identyfikator przeżywa otwarcie i zapisanie pliku.

Kod z zerami wiodącymi

export-breakers/leading-zero-code
007 007
  • 3 grafemy
  • 3 punkty kodowe
  • 3 bajty
  • 3 jednostki UTF-16
Co psuje
Kody tracą zera wiodące w chwili, gdy arkusz uzna kolumnę za liczbową.
Co robi poprawna aplikacja
Wyeksportowany jako tekst, żeby kod został taki, jak go nadano.

Numer telefonu zaczynający się od +

export-breakers/formula-plus
+48123456789 +48123456789
  • 12 grafemów
  • 12 punktów kodowych
  • 12 bajtów
  • 12 jednostek UTF-16
Co psuje
Numer telefonu zapisany z prefiksem kraju zostaje odczytany jako formuła, a komórka pokazuje błąd zamiast numeru.
Co robi poprawna aplikacja
Escapowany przy eksporcie albo w kolumnie o typie tekstowym.

Wartość zaczynająca się od -

export-breakers/formula-minus
-1+1 -1+1
  • 4 grafemy
  • 4 punkty kodowe
  • 4 bajty
  • 4 jednostki UTF-16
Co psuje
To samo co znak równości, w postaci, która wygląda też jak zwykła liczba ujemna.
Co robi poprawna aplikacja
Escapowana przy eksporcie.

Wartość zaczynająca się od @

export-breakers/formula-at
@name @name
  • 5 grafemów
  • 5 punktów kodowych
  • 5 bajtów
  • 5 jednostek UTF-16
Co psuje
Nazwa konta w serwisie społecznościowym albo wzmianka staje się w niektórych arkuszach wywołaniem funkcji.
Co robi poprawna aplikacja
Escapowana przy eksporcie.

Średnik w wartości

export-breakers/csv-semicolon
a;b a;b
  • 3 grafemy
  • 3 punkty kodowe
  • 3 bajty
  • 3 jednostki UTF-16
Co psuje
Drugi separator kolumn, używany w wielu krajach, także w Polsce. Plik poprawny w jednych ustawieniach regionalnych psuje się w innych.
Co robi poprawna aplikacja
Separator zadeklarowany w pliku, a wartości ujęte w cudzysłów niezależnie od tego, który jest używany.

Ułamek, który wygląda jak data

export-breakers/sheet-date-3-4
3/4 3/4
  • 3 grafemy
  • 3 punkty kodowe
  • 3 bajty
  • 3 jednostki UTF-16
Co psuje
Ułamek, proporcja albo numer domu, zamieniony na datę przy otwarciu pliku.
Co robi poprawna aplikacja
Wyeksportowany jako tekst. Otwarcie i zapisanie pliku nie zmienia wartości.