Format wymiany danych

Format wymiany danych (znany również jako „Navy DIF”, z rozszerzeniem pliku .dif) to format danych ASCII zaprojektowany na początku lat 80. XX wieku, aby umożliwić konwersję prostych arkuszy kalkulacyjnych (jedna karta) między systemami DBMS. Następnie: Lotus 1-2-3 , FileMaker Pro , DBase , Framework , Multiplan itp. Może być sprawdzony przez OpenOffice , LibreOffice , Excel , Gnumeric i StarCalc . Jego głównym ograniczeniem jest to, że nie pozwala na kodowanie wielu zakładek arkusza kalkulacyjnego w tym samym pliku.

Historyczny

Format DIF został opracowany przez Boba Frankston z Software Arts, Inc . dla VisiCalc na początku lat 80. Specyfikacje formatu zostały przekazane w dokumentacji VisiCalc, a nawet zostały opublikowane w magazynie Byte . Ten format DIF został opatentowany w 1981 roku przez Software Arts Products Corp. (wówczas nazwa firmy Software Arts).

Składnia

Aby przezwyciężyć specyficzne cechy różnych formatów używanych przez oprogramowanie od wczesnych lat 80., DIF zapisuje dane w pliku tekstowym w formacie ASCII. Ten plik ma dwie sekcje: sekcję nagłówka i sekcję danych. W formacie DIF każda sekcja składa się z bloku 2 lub 3 linii:

Nagłówek pliku

Nagłówek pliku ma wiersz typu, po którym następują dwa wiersze z wartością:

Różne pola danych są oznaczone jednym z tagów:

Komórki

Każda komórka jest zakodowana w dwóch wierszach:

Pierwsza liczba w pierwszym wierszu wskazuje typ, druga liczba jest ignorowana. Słowa kluczowe, które można znaleźć w następującym wierszu, to:

Implementacje Heterodox

Niektóre implementacje (szczególnie te z wczesnego oprogramowania Microsoft) dały odwrotną interpretację formatów WEKTORY i TULE. Niektóre implementacje nawet nie uwzględniają wymiarów wskazanych w nagłówku: dekodują separatory wierszy bloku wartości i tylko to uwzględniają.

Przykład

Na przykład załóżmy, że musimy przechowywać arkusz, który ma dwie kolumny, z pierwszym wierszem tytułów, dwoma wierszami nagłówków kolumn i dwoma wierszami danych:

Tekst Dane
cześć 1
podwójny cudzysłów "w tekście -3

Kodowanie w pliku .dif dałoby:

Zakodowane Komentarze
STÓŁ
0,1
"PRZEWYŻSZAĆ"
WEKTORY słowo kluczowe, po którym następuje wskazanie liczby kolumn:
0,2 „0” oznacza pole typu numerycznego, „2” oznacza liczbę kolumn
„”
TUPLY słowo kluczowe, po którym następuje wskazanie liczby wierszy ...
0.3 „0” oznacza pole typu numerycznego, „3” oznacza liczbę wierszy
„”
DANE po którym następuje konwencjonalne 0, a następnie rzeczywiste dane
0.0
„”
-1,0 „-1” oznacza tag blokowy: „BOT” lub „EOD”
NERW znacznik początku wiersza
1.0 „1” wskazuje wartość typu string (następujące 0 jest milczące)
"Tekst" Ciąg zawarty w komórce
1.0 „1” oznacza wartość typu string.
"Dane" Ciąg zawarty w komórce
-1,0 Przedrostek znacznika bloku
NERW Kolejna linia zawierająca ciąg ((1,0) → „cześć”) i pole liczbowe ( (0,1) )
1.0
"Cześć"
0,1 pole numeryczne (0) zawierające wartość 1
V Prawidłowe dane ( V oznacza „prawidłowe”)!
-1,0 Przedrostek znacznika bloku
NERW jeszcze jedna linia ...
1.0
„podwójny cudzysłów” „w tekście”
0, -3 komórka numeryczna zawierająca wartość -3
V
-1,0 Przedrostek znacznika bloku
EOD Koniec danych

Źródła

Uwagi

  1. Jednak nowsze arkusze kalkulacyjne, takie jak Calc i Gnumeric, zawierają dodatkowe znaki w tym formacie.