Strona główna › Baza wiedzy › Problemy z plikami CSV w Excelu
Programowanie i kod

Dlaczego plik CSV psuje się w programie Excel: kodowanie znaków, separatory i wiodące zera

Data publikacji: 15 października 2026 • Aktualizacja: 2 listopada 2026 • Autor: Zespół Inżynieryjny GoToolstack • Zweryfikowano z: Konwerter JSON ↔ CSV GoToolstack
Przekonwertuj i napraw dane tabelaryczne: Konwertuj bezbłędnie między JSON i CSV z prawidłowym kodowaniem UTF-8 i wyborem separatora.
Otwórz Konwerter JSON ↔ CSV →
Spis treści
  1. Dlaczego format CSV sprawia tyle problemów w Microsoft Excel?
  2. Trzy główne pułapki techniczne
  3. Bezpieczna konwersja danych w GoToolstack

1. Dlaczego format CSV sprawia tyle problemów w Microsoft Excel?

Format CSV (Comma-Separated Values) jest najprostszym i najpopularniejszym standardem eksportu baz danych i raportów e-commerce. Choć w teorii jest to zwykły plik tekstowy, podwójne kliknięcie i otwarcie go w programie Microsoft Excel często kończy się katastrofą: polskie znaki diakrytyczne (ą, ę, ś, ć, ż, ź) zamieniają się w niezrozumiałe krzaczki (tzw. mojibake), cały wiersz trafia do jednej kolumny, a numery kont, kody pocztowe i PESEL tracą wiodące zera.

Przyczyną tych anomalii są historyczne założenia architektury programu Excel oraz różnice w regionalnych ustawieniach systemów operacyjnych.

2. Trzy główne pułapki techniczne

  1. Brak znacznika UTF-8 BOM (Byte Order Mark): Domyślnie program Excel w wersjach dla systemu Windows otwiera pliki .csv przy użyciu starszego kodowania regionalnego (w Polsce zazwyczaj Windows-1250 lub ISO-8859-2), ignorując fakt, że plik został zapisany w nowoczesnym UTF-8. Rozwiązaniem jest poprzedzenie pliku 3-bajtowym znacznikiem UTF-8 BOM (bajty 0xEF, 0xBB, 0xBF), który jednoznacznie wymusza na Excelu interpretację UTF-8.
  2. Separator regionalny: Przecinek vs. Średnik: W krajach anglosaskich separatorem dziesiętnym jest kropka (.), a separatorem pól w CSV jest przecinek (,). Jednak w Polsce i większości krajów Europy separatorem dziesiętnym w systemie Windows jest przecinek! Z tego powodu europejski Excel oczekuje średnika (;) jako separatora kolumn. Otwarcie pliku ze standardowym przecinkiem sprawia, że Excel nie dzieli tekstu na kolumny.
  3. Automatyczna konwersja typów i ucinanie wiodących zer: Excel agresywnie próbuje interpretować każdą kolumnę jako liczbę. Jeśli kolumna zawiera polskie kody pocztowe (np. 00-950 jako 00950) lub identyfikatory produktów zaczynające się od zera (np. 012345), Excel automatycznie obcina zera, zamieniając wartość na 12345. Aby temu zapobiec, wartości te muszą być jawnie formatowane jako tekst z użyciem apostrofu lub cudzysłowów.

3. Bezpieczna konwersja danych w GoToolstack

Nasz konwerter JSON ↔ CSV umożliwia precyzyjne sterowanie wszystkimi parametrami generowanego pliku: wybór separatora (przecinek, średnik, tabulator), automatyczne dodawanie nagłówka UTF-8 BOM oraz poprawne ekranowanie cudzysłowów zgodnie ze standardem RFC 4180.