Section courante

A propos

Section administrative du site

Introduction

L'extension du fichier «.WK1» permet d'indiquer un fichier de format de tableur (chiffrier électronique) du Lotus 1-2-3.

Structure d'entête du fichier

Voici la structure d'entête du fichier .WK1 :

Déplacement Taille Description
0 2 octets Ce champ permet d'indiquer le code d'identificateur. La valeur est toujours 0.
2 2 octets Ce champ permet d'indiquer la longueur des données de l'entête. La valeur est 2.
4 2 octets Ce champ permet d'indiquer la signature de Lotus 1-2-3. La valeur est 1028 ou 1030.

Structure du corps du fichier

Le corps du programme est une suite de bloc correspondant à chacune des cellules du tableur. On utilise le deuxième champ pour l'ajouter à la position courante et passer au prochain bloc de données.

Liste des codes d'identification

MID Valeur Description
BOF 00h Cet identificateur permet d'indiquer le début du fichier.
EOF 01h Cet identificateur permet d'indiquer la fin de fichier.
CALCMODE 02h Cet identificateur permet d'indiquer le mode de calcul.
CALCORDER 03h Cet identificateur permet d'indiquer l'ordre de calcul.
SPLIT 04h Cet identificateur permet d'indiquer le type de fenêtre fractionnée.
SYNC 05h Cet identificateur permet d'indiquer la synchronisation de la fenêtre divisée.
RANGE 06h Cet identificateur permet d'indiquer la plage de feuille de calcul active.
WINDOW1 07h Cet identificateur permet d'indiquer l'enregistrement de la fenêtre 1.
COLW1 08h Cet identificateur permet d'indiquer la largeur de colonne, fenêtre 1.
WINTWO 09h Cet identificateur permet d'indiquer l'enregistrement fenêtre 2.
COLW2 0Ah Cet identificateur permet d'indiquer la largeur de colonne, fenêtre 2.
NAME 0Bh Cet identificateur permet d'indiquer la plage nommée.
BLANK 0Ch Cet identificateur permet d'indiquer la cellule vide.
INTEGER 0Dh Cet identificateur permet d'indiquer la cellule de nombre entier.
NUMBER 0Eh Cet identificateur permet d'indiquer le nombre à virgule flottante.
LABEL 0Fh Cet identificateur permet d'indiquer la cellule d'étiquette.
FORMULA 10h Cet identificateur permet d'indiquer la cellule de formule.
TABLE 18h Cet identificateur permet d'indiquer la plage de la table de données.
ORANGE 19h Cet identificateur permet d'indiquer la plage de requête.
PRANGE 1Ah Cet identificateur permet d'indiquer la plage d'impression.
SRANGE 1Bh Cet identificateur permet d'indiquer la plage de tri.
FRANGE 1Ch Cet identificateur permet de remplir la plage
KRANGE1 1Dh Cet identificateur permet d'indiquer la plage de clefs de tri primaire.
HRANGE 20h Cet identificateur permet d'indiquer la plage de distribution.
KRANGE2 23h Cet identificateur permet d'indiquer la plage de clefs de tri secondaire.
PROTEC 24h Cet identificateur permet d'indiquer la protection globale.
FOOTER 25h Cet identificateur permet d'afficher le pied de page.
HEADER 26h Cet identificateur permet d'indiquer d'afficher l'entête.
SETUP 27h Cet identificateur permet d'indiquer la configuration de l'impression.
MARGINS 28h Cet identificateur permet d'indiquer l'affichage du code des marges.
LABELFMT 29h Cet identificateur permet d'indiquer l'alignement des étiquettes.
TITLES 2Ah Cet identificateur permet d'indiquer l'affichage les bordures.
GRAPH 2Dh Cet identificateur permet d'indiquer les paramètres actuels du graphique.
NGRAPH 2Eh Cet identificateur permet d'indiquer les paramètres du graphique nommé.
CALCCOUNT 2Fh Cet identificateur permet d'indiquer le nombre d'itérations.
UNFORMATTED 30h Cet identificateur permet d'indiquer l'impression formatée ou non formatée.
CURSORW12 31h Cet identificateur permet d'indiquer l'emplacement du curseur.

Bloc d'étiquette

Déplacement Taille Description
0 2 octets Ce champ permet d'indiquer le code d'identification, soit 15.
2 2 octets Ce champ permet d'indiquer la longueur des données.
4 1 octet Ce champ permet d'indiquer le format de la cellule.
5 2 octets Ce champ permet d'indiquer la colonne de la cellule.
7 2 octets Ce champ permet d'indiquer la ligne de la cellule.
9 240 octets Ce champ permet d'indiquer le texte de la cellule sous forme d'une chaine de caractères ASCIZ.

Bloc d'entier

Déplacement Taille Description
0 2 octets Ce champ permet d'indiquer le code d'identification, soit 13.
2 2 octets Ce champ permet d'indiquer la longueur des données.
4 1 octet Ce champ permet d'indiquer le format de la cellule.
5 2 octets Ce champ permet d'indiquer la colonne de la cellule.
7 2 octets Ce champ permet d'indiquer la ligne de la cellule.
9 2 octets Ce champ permet d'indiquer la valeur de la cellule.

Bloc de nombre réel

Déplacement Taille Description
0 2 octets Ce champ permet d'indiquer le code d'identification, soit 14.
2 2 octets Ce champ permet d'indiquer la longueur des données.
4 1 octet Ce champ permet d'indiquer le format de la cellule.
5 2 octets Ce champ permet d'indiquer la colonne de la cellule.
7 2 octets Ce champ permet d'indiquer la ligne de la cellule.
9 6 octets Ce champ permet d'indiquer la valeur du nombre réel de la cellule.

Bloc de fin

Déplacement Taille Description
0 2 octets Ce champ permet d'indiquer le code d'identification, soit 1.
2 2 octets Ce champ permet d'indiquer la longueur des données. La valeur est toujours 0.

Code source

Voici des exemples de code source d'utilitaires pour manipuler les .WK1 :

Lien Langage de programmation Description Projet Syntaxe
123.PAS Free Pascal, Turbo Pascal Cette commande permet de lancer un clone de Lotus 1-2-3. Corail 123
CSV2WK1.PAS Free Pascal, Turbo Pascal Cette commande permet de convertir un fichier .CSV en format WK1 de Lotus 1-2-3. Corail CSV2WK1


Dernière mise à jour : Jeudi, le 3 mars 2016