summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kyoshida@novell.com>2011-08-08 18:25:21 -0400
committerKohei Yoshida <kyoshida@novell.com>2011-08-08 18:25:21 -0400
commitd16db062d11885900a7225274d31c73c1f0be0c0 (patch)
tree63acb56fd7b4947bf1def82c4b88a62b501b27e9
parent724fde7b23a8ac5ada6baa430bad531f854389d8 (diff)
Handler for SERIESTEXT record.
SeriesText record store string data for misc items in a chart.
-rw-r--r--src/xlsrecord.py14
-rw-r--r--src/xlsstream.py3
2 files changed, 15 insertions, 2 deletions
diff --git a/src/xlsrecord.py b/src/xlsrecord.py
index 8dc4d9d..4e013c8 100644
--- a/src/xlsrecord.py
+++ b/src/xlsrecord.py
@@ -181,6 +181,9 @@ Like parseBytes(), the derived classes must overwrite this method."""
else:
return falseStr
+ def readShortXLUnicodeString (self):
+ cch = self.readUnsignedInt(1)
+ return self.readUnicodeString(cch)
class AutofilterInfo(BaseRecordHandler):
@@ -1341,6 +1344,17 @@ class Scl(BaseRecordHandler):
val /= self.denominator
self.appendLine("zoom level: %g"%val)
+class SeriesText(BaseRecordHandler):
+
+ def __parseBytes (self):
+ self.readBytes(2) # must be zero, ignored.
+ self.text = self.readShortXLUnicodeString()
+
+ def parseBytes (self):
+ self.__parseBytes()
+ self.appendLine("text: '%s'"%self.text)
+
+
class String(BaseRecordHandler):
"""Cached string formula result for preceding formula record."""
diff --git a/src/xlsstream.py b/src/xlsstream.py
index bf3a4ac..b71da54 100644
--- a/src/xlsstream.py
+++ b/src/xlsstream.py
@@ -242,11 +242,10 @@ recData = {
0x1006: ["CHDATAFORMAT", "?"],
0x1007: ["LINEFORMAT", "Appearance of A Line"],
0x1009: ["CHMARKERFORMAT", "?"],
- 0x100D: ["CHSTRING", "Series Category Name or Title Text in Chart"],
0x100A: ["AREAFORMAT", "Patterns and Colors in Filled Region of Chart"],
0x100B: ["CHPIEFORMAT", "?"],
0x100C: ["CHATTACHEDLABEL", "?"],
- 0x100D: ["CHSTRING", "?"],
+ 0x100D: ["SERIESTEXT", "Series Category Name or Title Text in Chart", xlsrecord.SeriesText],
0x1014: ["CHTYPEGROUP", "?"],
0x1015: ["CHLEGEND", "?", xlsrecord.CHLegend],
0x1017: ["CHBAR, CHCOLUMN", "?", xlsrecord.CHBar],