Some more learnings on charts.

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352919 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Glen Stampoultzis 2002-11-20 05:21:11 +00:00
parent c56f037aa4
commit a117504b50

View File

@ -23,6 +23,175 @@
UNITS record really does mark the start of the chart.
</p>
<source>
============================================
rectype = 0xec, recsize = 0xc8
-BEGIN DUMP---------------------------------
00000000 0F 00 02 F0 C0 00 00 00 10 00 08 F0 08 00 00 00 ................
00000010 02 00 00 00 02 04 00 00 0F 00 03 F0 A8 00 00 00 ................
00000020 0F 00 04 F0 28 00 00 00 01 00 09 F0 10 00 00 00 ....(...........
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040 02 00 0A F0 08 00 00 00 00 04 00 00 05 00 00 00 ................
00000050 0F 00 04 F0 70 00 00 00 92 0C 0A F0 08 00 00 00 ....p...........
00000060 02 04 00 00 00 0A 00 00 93 00 0B F0 36 00 00 00 ............6...
00000070 7F 00 04 01 04 01 BF 00 08 00 08 00 81 01 4E 00 ..............N.
00000080 00 08 83 01 4D 00 00 08 BF 01 10 00 11 00 C0 01 ....M...........
00000090 4D 00 00 08 FF 01 08 00 08 00 3F 02 00 00 02 00 M.........?.....
000000A0 BF 03 00 00 08 00 00 00 10 F0 12 00 00 00 00 00 ................
000000B0 04 00 C0 02 0A 00 F4 00 0E 00 66 01 20 00 E9 00 ..........f. ...
000000C0 00 00 11 F0 00 00 00 00 ........
-END DUMP-----------------------------------
recordid = 0xec, size =200
[UNKNOWN RECORD:ec]
.id = ec
[/UNKNWON RECORD]
============================================
rectype = 0x5d, recsize = 0x1a
-BEGIN DUMP---------------------------------
00000000 15 00 12 00 05 00 02 00 11 60 00 00 00 00 B8 03 .........`......
00000010 87 03 00 00 00 00 00 00 00 00 ..........
-END DUMP-----------------------------------
recordid = 0x5d, size =26
[UNKNOWN RECORD:5d]
.id = 5d
[/UNKNWON RECORD]
============================================
rectype = 0x809, recsize = 0x10
-BEGIN DUMP---------------------------------
00000000 00 06 20 00 FE 1C CD 07 C9 40 00 00 06 01 00 00 .. ......@......
-END DUMP-----------------------------------
recordid = 0x809, size =16
[BOF RECORD]
.version = 600
.type = 20
.build = 1cfe
.buildyear = 1997
.history = 40c9
.requiredversion = 106
[/BOF RECORD]
============================================
rectype = 0x14, recsize = 0x0
-BEGIN DUMP---------------------------------
**NO RECORD DATA**
-END DUMP-----------------------------------
recordid = 0x14, size =0
[HEADER]
.length = 0
.header = null
[/HEADER]
============================================
rectype = 0x15, recsize = 0x0
-BEGIN DUMP---------------------------------
**NO RECORD DATA**
-END DUMP-----------------------------------
recordid = 0x15, size =0
[FOOTER]
.footerlen = 0
.footer = null
[/FOOTER]
============================================
rectype = 0x83, recsize = 0x2
-BEGIN DUMP---------------------------------
00000000 00 00 ..
-END DUMP-----------------------------------
recordid = 0x83, size =2
[HCENTER]
.hcenter = false
[/HCENTER]
============================================
rectype = 0x84, recsize = 0x2
-BEGIN DUMP---------------------------------
00000000 00 00 ..
-END DUMP-----------------------------------
recordid = 0x84, size =2
[VCENTER]
.vcenter = false
[/VCENTER]
============================================
rectype = 0xa1, recsize = 0x22
-BEGIN DUMP---------------------------------
00000000 00 00 12 00 01 00 01 00 01 00 04 00 00 00 B8 03 ................
00000010 00 00 00 00 00 00 E0 3F 00 00 00 00 00 00 E0 3F .......?.......?
00000020 0F 00 ..
-END DUMP-----------------------------------
recordid = 0xa1, size =34
[PRINTSETUP]
.papersize = 0
.scale = 18
.pagestart = 1
.fitwidth = 1
.fitheight = 1
.options = 4
.ltor = false
.landscape = false
.valid = true
.mono = false
.draft = false
.notes = false
.noOrientat = false
.usepage = false
.hresolution = 0
.vresolution = 952
.headermargin = 0.5
.footermargin = 0.5
.copies = 15
[/PRINTSETUP]
============================================
rectype = 0x33, recsize = 0x2
-BEGIN DUMP---------------------------------
00000000 03 00 ..
-END DUMP-----------------------------------
recordid = 0x33, size =2
[UNKNOWN RECORD:33]
.id = 33
[/UNKNWON RECORD]
============================================
rectype = 0x1060, recsize = 0xa
-BEGIN DUMP---------------------------------
00000000 A0 23 08 16 C8 00 00 00 05 00 .#........
-END DUMP-----------------------------------
recordid = 0x1060, size =10
[FBI]
.xBasis = 0x23A0 (9120 )
.yBasis = 0x1608 (5640 )
.heightBasis = 0x00C8 (200 )
.scale = 0x0000 (0 )
.indexToFontTable = 0x0005 (5 )
[/FBI]
============================================
rectype = 0x1060, recsize = 0xa
-BEGIN DUMP---------------------------------
00000000 A0 23 08 16 C8 00 01 00 06 00 .#........
-END DUMP-----------------------------------
recordid = 0x1060, size =10
[FBI]
.xBasis = 0x23A0 (9120 )
.yBasis = 0x1608 (5640 )
.heightBasis = 0x00C8 (200 )
.scale = 0x0001 (1 )
.indexToFontTable = 0x0006 (6 )
[/FBI]
============================================
rectype = 0x12, recsize = 0x2
-BEGIN DUMP---------------------------------
00000000 00 00 ..
-END DUMP-----------------------------------
recordid = 0x12, size =2
[PROTECT]
.rowheight = 0
[/PROTECT]
============================================
Offset 0xf22 (3874)
rectype = 0x1001, recsize = 0x2
@ -1125,90 +1294,107 @@
to read format:
</p>
<source>
[UNITS]
[CHART]
[BEGIN]
[SCL] // zoom magnification
[PLOTGROWTH] // font scaling
[FRAME] // border around text
[BEGIN] // default line and area format
[LINEFORMAT]
[AREAFORMAT]
[END]
[SERIES] // start of series
[UNKNOWN RECORD:ec]
[UNKNOWN RECORD:5d]
[BOF RECORD]
[HEADER]
[FOOTER]
[HCENTER]
[VCENTER]
[PRINTSETUP]
[UNKNOWN RECORD:33]
[FBI]
[FBI]
[PROTECT]
[UNITS]
[CHART]
[BEGIN]
[AI] // LINK_TYPE_TITLE_OR_TEXT
[AI] // LINK_TYPE_VALUES
[AI] // LINK_TYPE_CATEGORIES
[AI] // ??
[DATAFORMAT] // Formatting applies to series?
[BEGIN] // ??
[UNKNOWN RECORD]
[SCL] // zoom magnification
[PLOTGROWTH] // font scaling
[FRAME] // border around text
[BEGIN] // default line and area format
[LINEFORMAT]
[AREAFORMAT]
[END]
[SeriesToChartGroup] // Used to support > 1 chart?
[END]
[SHTPROPS] // Some defaults for how chart is displayed.
[DEFAULTTEXT] // Describes the characteristics of the next
// record
[TEXT] // Details of the text that follows in the
// next section
[BEGIN]
[UNKNOWN RECORD] // POS record... looks like I missed this one.
// docs seem to indicate it's better to use
// defaults...
[FONTX] // index to font record.
[AI] // link to text? seems to be linking to nothing
[END]
[DEFAULTTEXT] // contains a category type of 3 which is not
// documented (sigh).
[TEXT] // defines position, color etc for text on chart.
[BEGIN]
[UNKNOWN RECORD] // Another pos record
[FONTX] // font
[AI] // reference type is DIRECT (not sure what this
// means)
[END]
[AXISUSED] // number of axis on the chart.
[AXISPARENT] // axis size and location
[BEGIN] // beginning of axis details
[UNKNOWN RECORD] // Another pos record.
[AXIS] // Category axis
[SERIES] // start of series
[BEGIN]
[CATSERRANGE] // defines tick marks and other stuff
[AXCEXT] // unit information
[TICK] // tick formating characteristics
[AI] // LINK_TYPE_TITLE_OR_TEXT
[AI] // LINK_TYPE_VALUES
[AI] // LINK_TYPE_CATEGORIES
[AI] // ??
[DATAFORMAT] // Formatting applies to series?
[BEGIN] // ??
[UNKNOWN RECORD]
[END]
[SeriesToChartGroup] // Used to support > 1 chart?
[END]
[AXIS] // Value axis
[SHTPROPS] // Some defaults for how chart is displayed.
[DEFAULTTEXT] // Describes the characteristics of the next
// record
[TEXT] // Details of the text that follows in the
// next section
[BEGIN]
[VALUERANGE] // defines tick marks and other stuff
[TICK] // tick formating characteristics
[AXISLINEFORMAT] // major grid line axis format
[LINEFORMAT] // what do the lines look like?
[UNKNOWN RECORD] // POS record... looks like I missed this one.
// docs seem to indicate it's better to use
// defaults...
[FONTX] // index to font record.
[AI] // link to text? seems to be linking to nothing
[END]
[PLOTAREA] // marks that the frame following belongs
// to the frame.
[FRAME] // border
[DEFAULTTEXT] // contains a category type of 3 which is not
// documented (sigh).
[TEXT] // defines position, color etc for text on chart.
[BEGIN]
[LINEFORMAT] // border line
[AREAFORMAT] // border area
[UNKNOWN RECORD] // Another pos record
[FONTX] // font
[AI] // reference type is DIRECT (not sure what this
// means)
[END]
[CHARTFORMAT] // marks a chart group
[BEGIN]
[BAR] // indicates a bar chart
[UNKNOWN RECORD] // apparently this record is ignoreable
[LEGEND] // positioning for the legend
[AXISUSED] // number of axis on the chart.
[AXISPARENT] // axis size and location
[BEGIN] // beginning of axis details
[UNKNOWN RECORD] // Another pos record.
[AXIS] // Category axis
[BEGIN]
[UNKNOWN RECORD] // another position record.
[TEXT] // details of the text that follows
// in the next section
[CATSERRANGE] // defines tick marks and other stuff
[AXCEXT] // unit information
[TICK] // tick formating characteristics
[END]
[AXIS] // Value axis
[BEGIN]
[VALUERANGE] // defines tick marks and other stuff
[TICK] // tick formating characteristics
[AXISLINEFORMAT] // major grid line axis format
[LINEFORMAT] // what do the lines look like?
[END]
[PLOTAREA] // marks that the frame following belongs
// to the frame.
[FRAME] // border
[BEGIN]
[LINEFORMAT] // border line
[AREAFORMAT] // border area
[END]
[CHARTFORMAT] // marks a chart group
[BEGIN]
[BAR] // indicates a bar chart
[UNKNOWN RECORD] // apparently this record is ignoreable
[LEGEND] // positioning for the legend
[BEGIN]
[UNKNOWN RECORD] // yet another pos record
[AI] // another link (of type direct)
[UNKNOWN RECORD] // another position record.
[TEXT] // details of the text that follows
// in the next section
[BEGIN]
[UNKNOWN RECORD] // yet another pos record
[AI] // another link (of type direct)
[END]
[END]
[END]
[END]
[END]
[END]
[DIMENSIONS]
[SINDEX]
[SINDEX]
[SINDEX]
[EOF]
</source>
<p>
It is currently suspected that many of those records could be
@ -1218,5 +1404,37 @@
how this effects the chart in excel.
</p>
</section>
<section title="Inserting the Chart into the Workbook">
<ul>
<li>
Unknown record (sid=00eb) is inserted before the SST
record.
</li>
<source>
============================================
rectype = 0xeb, recsize = 0x5a
-BEGIN DUMP---------------------------------
00000000 0F 00 00 F0 52 00 00 00 00 00 06 F0 18 00 00 00 ....R...........
00000010 01 08 00 00 02 00 00 00 02 00 00 00 01 00 00 00 ................
00000020 01 00 00 00 03 00 00 00 33 00 0B F0 12 00 00 00 ........3.......
00000030 BF 00 08 00 08 00 81 01 09 00 00 08 C0 01 40 00 ..............@.
00000040 00 08 40 00 1E F1 10 00 00 00 0D 00 00 08 0C 00 ..@.............
00000050 00 08 17 00 00 08 F7 00 00 10 ..........
-END DUMP-----------------------------------
recordid = 0xeb, size =90
[UNKNOWN RECORD:eb]
.id = eb
[/UNKNWON RECORD]
============================================
</source>
<li>
Any extra font records are inserted as needed
</li>
<li>
Chart records inserted after DBCell records.
</li>
</ul>
</section>
</body>
</document>