# KOffice filters status: Applix Spreadsheet FILTER

Import | Export
Up

Import Applix Spreadsheet for kspread
Last update | 03 mar 2001

Features

- can import simple and complex Applix Spreadsheet documents
- tests the headline of the document
- converts <, >, &, to &lt; &gt; &amp;
- converts all applix special characters
- converts fontsize, fontcolor, horizontal and vertical alignment, bold, italic, underline
- eats long text strings (more than one row in inputfile)
- converts different tables inside of one document
- cellformat: background color, brushstyles, brushcolor
- cellframe: linewidth, linetype, linecolor
- row height and column width
- converting the fontfamily (incl. reading the typeface table)
- correct process bar value emiting (procent)
- rows A-Z and greater Z (AA-ZZ) are right translate into integer values

Todo

- cellframes: double lines are not supported in kspread till now. So they can't translated correct.
- check the row height and column width - they are not right sometimes
- grouped row and column formats
- add endoffile checking with dialog in do-while loops
- detect valueline (can only do textlines)
- convert a formular, date or something else right with cell references
- change the printf output to debug (xxxxx) output

History

17 mar 2001 | : | The fontfamily in support (incl. bugfix) Longnamed columns like AA are right supported now- for cell elements and column width elements Corrected the row width values. They start with 32768! Little code cleanup. Updated the fileformat description.
13 mar 2001 | : | Added the progress bar value emiting (David Faure)
11 mar 2001 | : | Added fileformat description.
10 mar 2001 | : | Checked in this version after discussion with David Faure. He told me that he just tried to begin with a applix spreadsheet import filter too.
09 mar 2001 | : | Read the row height and column width.
03 mar 2001 | : | Reads the typefont and the colortable, converts cmyk to rgb, added some style information (cell and string)
24 feb 2001 | : | Add <, >, & and applix character convertation
11 feb 2001 | : | Written a filter that only can filter simple applix files

Authors | Enno Bartels
Links | Applixword example

Progress report

Fileformat:
Main Structure:
1. Header
2. Colortable
3. Fonttable
...
4. View
...
5. Headers and footers
6. Cellvalues
7. End
1. Header:
The headerline looks like that:
*BEGIN SPREADSHEETS VERSION=430/430 ENCODING=7BIT
2. Colormap:
The colormap has 3 parts
2.1. Starting line
2.2. Value lines
2.3. Ending line
2.1. Colormap start:
The colormap begins with this line
COLORMAP
2.2. Colormap value:
A color value line has the following parts (cmyk - colorsystem)
Text 0 c m y k 0

2.2.1. | Text | = Textstring | -
2.2.2. | 0 | = NULL | -
2.2.3. | c | = cyan | 0-255
2.2.4. | m | = magenta | 0-255
2.2.5. | y | = yellow | 0-255
2.2.6. | k | = black (key) | 0-255
2.2.7. | 0 | = NULL | -

Color converting is very simple cmyk to rgb:
r = 255 - (c+k)
g = 255 - (m+k)
b = 255 - (y+k)
If the value of r, g or b if less then 0 you must set it to 0 .
For examples inside koffice look a this files too
koffice/kimageshop/core/kis_color.cc and kis_color.h
2.3. Colormap end:
The colormap ends with this line:
END COLORMAP
3. Fonttable:
The fonttable has 3 parts
3.1. Starting line
3.2. Value lines
3.3. Ending line
3.1. Starting line
The fonttable begins with this line:
TYPEFACE TABLE
3.2. Value line
The fonttable value line looks like that:
Helvetica
3.3. Ending line
The colormap ends with this line ends with
END TYPEFACE TABLE
4. View:
Each table has its own view section and everyone has 3 parts
4.1. Starting line
4.2. Value lines
4.3. Ending line
This is an example with the table name A
4.1. Starting line
The view of table A begins with this line:
View Start, Name: ~A:~
4.2. Value lines
There are different value lines, but all of them start with view
There are following important value lines:
4.2.1. Column width
4.2.2. Row heights
4.2.1. Column width
In the view of an table block is for example the width of a column:
View Column Widths: A:3 B:3 C:3 D:3 E:3 F:3 G:4 H:4
4.2.1. Row height
or the height of a row
View Row Heights: 3:18 4:24 8:32804
Attention: If the row value is greater then 32768 you have to calc rowHeight = rowHeight - 32768 to get the right value!
4.3. Ending line
The view of table A ends with this line:
View End, Name: ~A:~
5. Headers and footers:
The headers and footers section has 3 parts
5.1. Starting line
5.2. Value lines
5.3. Ending line
5.1. Starting line
The headers and footers section begins with this line:
Headers And Footers
5.2. Value lines
-
-
5.3. Ending line
The headers and footers section end with
Headers And Footers End
6. Cellvalue:
This is a cellvalue line
('DN|B,I,U,TF1,P18|T4) A!D11: Hello everybody
a cellvalue line has 3 parts:
6.1. Formatpart
6.2. Location part
6.3. Text String, formular, value, link, etc.
6.1. Formatpart:
The format part looks like that:
('DN|B,I,U,TF1,P18|T4)
There are 3 formatsubparts divided by |:
(Part1|Part2|Part3)
5.1.1. Part 1 - Alignment format
5.1.2. Part 2 - Text format
5.1.3. Part 3 - Cell format
6.1.1. Part 1 - Alignment format
This is the alignment format for vertical, horizontal alignment

6.1.1.1 | 1 | horizontal alignment | left
6.1.1.2 | 2 | horizontal alignment | right
6.1.1.3 | 3 | horizontal alignment | center
6.1.1.4 | VT | vertical alignment | top
6.1.1.5 | VC | vertical alignment | center
6.1.1.5 | VB | vertical alignment | bottom
6.1.1.6 | DN | ?? | ??

6.1.2. Part 2 - Text format
This is the alignment format for the text

6.1.2.1. | B | bold | -
6.1.2.2. | I | italic | -
6.1.2.3. | U | underline | -
6.1.2.4. | TFx | fontfamily | x is the number in the fonttable.
6.1.2.5. | Px | fontsize | x is the fontsize.

6.1.3. Part 3 - Cell format
This is the alignment format for the text

6.1.3.1. | Txy | Frame at the top
6.1.3.2. | Bxy | Frame at the bottom
6.1.3.3. | Lxy | Frame at the left side
6.1.3.4. | Rxy | Frame at the right side

x = number describes the penwidth and penstyle of the frame line

applix |  | kspread
number x | info |  | penwidth | penstyle
1 | - | = | 1 | 1
2 | - | = | 2 | 1
3 | - | = | 3 | 1
4 | dashed | = | 1 | 3
5 | double line | = | 5 | 1

y = examples FG7 SH11FG18 SH11FG18BG4
it has max 3 Parts:
6.1.3.4.1. Foreground color.
6.1.3.4.2. Background shade type.
6.1.3.4.3. Background color.
6.1.3.4.1. Foreground color:
FGx = Foreground color. - x is the number in the colortable
6.1.3.4.2. Background shade type:
SHx = Background shade type. x is the shadetypenumber
Not all can be translate !

applix |  | kspread
shadetype number |  | shadetype number
1 | = | 0
2 | = | 7
3 | = | 0
4 | = | 4
5 | = | 3
6 | = | 2
7 | = | 0
8 | = | 0
9 | = | 10
10 | = | 9
11 | = | 11
12 | = | 12
13 | = | 13
14 | = | 14
15 | = | 0
16 | = | 0
17 | = | 0
18 | = | 0
19 | = | 0

6.1.3.4.3. Background color:
BGx = Background color. x is the number in the colortable
6.2. Location part:
The location part looks like that:
A!D11:
A = table
D11 = cellnumber
D = columnnumber
11 = rownumber
:=textstring, ;=formular, .=value
6.3. Text String etc:
The text string part looks like that:
Hello everybody
7. End
The end looks like that:
*END SPREADSHEETS

Up

Up

Export kspread to Applix Spreadsheet
Last update | -
Features | None
Todo | Everything
History | -
Authors | -
Links | -
Progress report | ---

Up