SYmbolic LinK (SYLK)
From Wikipedia, the free encyclopedia
Symbolic Link (SYLK) is a Microsoft file format typically used to exchange data between applications, specifically spreadsheets. SYLK files conventionally have a .slk
suffix. From within a spreadsheet data can be exported in the SYLK format. Comprised of only ASCII characters, it is easily created and processed by other applications, such as databases.
Microsoft does not publish a SYLK specification. Variants of the format are supported by Multiplan, Microsoft Excel, Microsoft Works, OpenOffice.org, and Gnumeric.
Contents |
[edit] Sample SYLK code
As an example, the following SYLK code in a text file with the .slk extension:
ID;P C;Y1;X1;K"Row 1" C;Y2;X1;K"Row 2" C;Y3;X1;K"Total" C;Y1;X2;K11 C;Y2;X2;K22 C;Y3;X2;K0;ER1C2+R2C2 E
would be displayed like this when read by an appropriate spreadsheet:
Row 1 | 11 |
Row 2 | 22 |
Total | 33 |
[edit] Sample SYLK code (for numeric formatting)
The formatting of 2 decimal digits is applied to Column 2 using
F;P2;C2
where P0 is for General, P1 is for no decimal, P2 is for 2 digits, P3 has leading $ sign with 2 decimal points as defined below.
ID;P P;PGeneral P;P_(* #,##0_);;_(* \-#,##0_);;_(* "-"_);;_(@_) P;P_(* #,##0.00_);;_(* \(#,##0.00\);;_(* "-"??_);;_(@_) P;P_("$"* #,##0.00_);;_("$"* \(#,##0.00\);;_("$"* "-"??_);;_(@_) C;Y1;X1;K"Row 1" C;Y2;X1;K"Row 2" C;Y3;X1;K"Total" C;Y1;X2;K11 C;Y2;X2;K22 C;Y3;X2;K0;ER1C2+R2C2 F;P2;C2 E
would be displayed like this when read by an appropriate spreadsheet:
Row 1 | 11.00 |
Row 2 | 22.00 |
Total | 33.00 |
[edit] Sample SYLK code (for column width)
F;W< n1 > [S] < n2 > [S] < n3 > defines the widths of a group of columns:
[S] is one space < n1 > is the first column < n2 > is the last column < n3 > is the width of columns in number of characters<BR>
For example : Adding these SYLK codes will adjust the column width of column 1 and 2 to 20 and 30 respectively.
F;W1 1 20 F;W2 2 30
[edit] Sample SYLK code (cell formatting properties)
;F < cl > < n > < c2 >
< cl > is one of the following 1-character formatting codes: D default C continuous cross-cell display E scientific exponentiation F fixed decimal point G general format $ leading$and2decimal points * bar graph, one asterisk per unit (5 would be *****) < n > is the number of digits. < c2 > is one of the following 1-character alignment codes: D default C center G general(textleft, numbersright) L left justify R right justify
For Example : The following SYLK code demonstrates the cell formatting properties
ID;P P;PGeneral C;Y1;X1;K"Row 1 Left Justify" F;P0;FG0L C;Y2;X1;K"Row 2 Right Justify" F;P0;FG0R C;Y3;X1;K"Total at Center" F;P0;FG0C C;Y1;X2;K11 C;Y2;X2;K22 C;Y3;X2;K0;ER1C2+R2C2 F;Y1;X2;FF2L F;Y2;X2;FF2R F;Y3;X2;F$2C F;W1 2 25 E
[edit] SYLK Syntax
SYLK_file ::= Record + Record ::= RecordType Field* newline ID record: Use: A header to identify spreadsheet type and creator. Must be first record in the file. Record type: ID Mandatory fields: ;P program -- file creator -- possible creators include: -- MP (Multiplan) -- XL (Excel) Possible fields: ;N -- If present, file uses ;N style cell protection -- If absent, file uses ;P style cell protection ;E -- If present, NE records are redundant -- If absent, NE records are not redundant B record Use: Tells number of rows and columns in the spreadsheet. Recommended that it come before C and F records Record type: B Mandatory fields: ;X columns -- tells maximum number of columns ;Y rows -- tells maximum number of rows C record Use: Cell contents Record type: C Mandatory fields: ;X column -- column position (one based) ;Y row -- row position (one based) Possible fields: ;E expression -- expression for the cell ;K value -- value of the cell ;C column -- column reference ;R row -- row reference ;G -- defines shared value ;D -- defines shared expression ;S -- references shared value or shared expression ;N -- If present, the cell is not protected. -- If absent and ;N is present in the ID record, cell is protected. ;P -- If present, cell is protected. -- If absent and ;N is absent in the ID record, cell is not protected. ;H -- If present, cell is hidden. -- If absent, cell is not hidden. ;M expression -- matrix expression from (X,Y) to (C,R) ;I -- inside a matrix Compatible fields: If ;G is present, ;E must be absent. If ;G is present, ;K must be present. If ;D is present, ;E must be present. If ;S is present, ;E, ;K, ;G, ;D, and ;M must be absent. If ;S is present, ;R and ;C must be present. (They define the row and column that the shared value/expression is copied from.) If ;N is present in the ID record, ;P must be absent. If ;N is absent from the ID record, ;N must be absent. If ;M is present, ;E must be absent. If ;I is present, ;K and ;E must be absent P record Use: Picture format If F records are present, precedes them. Mandatory fields: ;P picture -- Excel style picture format F record Use: Format If P record(s) are present, follows them. Possible fields: ;X column -- column (one based) ;Y row -- row (one based) ;C column -- column (one based) ;R row -- row (one based) ;F format -- Cell/row/column format -- The format of format is -- ch1 digits ch2 -- ch1 is -- D default -- C currency -- E exponent -- F fixed -- G general -- $ dollar -- * graph -- % percent -- digits is number of digits after decimal point -- ch2 is alignment -- D default -- C center -- G standard -- L left -- R right -- - ignored -- X fill ;D format -- Default format. -- The format of format is -- ch1 digits ch2 -- ch1 is -- C currency -- E exponent -- F fixed -- G general -- $ dollar -- * graph -- % percent -- digits is number of digits after decimal point -- ch2 is alignment -- C center -- G standard -- L left -- R right -- - ignored -- X fill ;E -- show formulas ;K -- show commas ;W col1 col2 width -- set column widths ;N fontid size -- font to use ;P index -- Excel picture ;S style -- style -- The following characters can be part of style -- I italic -- D bold -- T gridline top -- L gridline left -- B gridline bottom -- R gridline right ;H -- If present, don't show row/column headers -- If absent in the entire file, show row/column headers ;G -- If present, don't show default gridlines -- If absent in the entire file, show default gridlines Compatible fields: At least one of ;X, ;Y, ;C, ;R, ;D, ;E, ;K, ;W, ;P, ;H, or ;G must be present. If ;X or ;Y is present, both ;X and ;Y must be present. (This sets cell format.) If ;X is present, ;R, ;C, ;E, ;K, ;W, ;N, ;H, ;G must be absent. If ;R is present, ;X, ;Y, ;C, ;E, ;K, ;W, ;N, ;H, ;G must be absent. (This sets default row format.) If ;C is present, ;X, ;Y, ;R, ;E, ;K, ;W, ;N, ;H, ;G must be absent. (This sets default column format.) If ;D is present, ;X, ;Y, ;R, ;C must be absent. (This sets default spreadsheet format.) If ;X, ;Y, ;R, ;C are present, ;P and/or ;F and/or ;S must be present. O record Use: Options Possible fields: ;A iter delta -- If present, allow value iteration -- If absent, circular references are not allowed. -- iter (maximum number of iterations) -- delta (step test. If smaller, then finished.) ;C -- completion test at nearest preceding C record ;P -- sheet is protected ;L -- use A1 mode references -- Even if ;L is given R1C1 references are used in SYLK file expressions. ;M -- If present, use manual recalculation. -- If absent, use automatic recalculation. ;E -- Macro sheet. -- This should appear before the first appearance of a ;G or ;F field in a NN record. -- This should appear before the first C record which uses a macro-only function. NU record Use: file name substitution If NE record(s) are present, must precede them. Mandatory fields: ;L filename -- old filename ;F filename -- new filename NE record Use: external link Mandatory fields: ;E expression -- Target area on spreadsheet ;F filename -- Source file ;S expression -- Source area on external sheet NN record Use: Defines names More efficient if NN appears before name use. Mandatory fields: ;N name -- name ;E expression -- expression describing value of name Possible fields: ;G ch1 ch2 -- runable name (macro) with command key alias ;K ch1 ch2 -- ordinary name with unused comman aliases ;F -- usable as a function Compatible fields: If ;G is present, ;K must be absent. W record Use: Window definitions NL record Use: Chart external link E record Use: End of file. Must be last record.
[edit] External links
Detailed examples can also be found at here.
Syntax for SYLK can be found at
and at
and Wotsit