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