62 public void Init(MemoryStream stream,
Workbook workbook, IOptions readerOptions, Action<MemoryStream, Workbook, string, IOptions, int?> inlinePluginHandler)
65 this.Workbook = workbook;
66 this.Options = readerOptions;
67 this.InlinePluginHandler = inlinePluginHandler;
80 XmlDocument xr =
new XmlDocument() { XmlResolver =
null };
81 using (XmlReader reader = XmlReader.Create(stream,
new XmlReaderSettings() { XmlResolver =
null }))
84 string prefix =
ReaderUtils.DiscoverPrefix(xr,
"theme");
85 XmlNodeList themes =
ReaderUtils.GetElementsByTagName(xr,
"theme", prefix);
87 Workbook.WorkbookTheme =
new Theme(themeName);
88 ColorScheme colorScheme =
new ColorScheme();
89 Workbook.WorkbookTheme.Colors = colorScheme;
90 XmlNodeList colors =
ReaderUtils.GetElementsByTagName(xr,
"clrScheme", prefix);
92 foreach (XmlNode color
in colors)
95 Workbook.WorkbookTheme.Colors.Name = colorSchemeName;
96 XmlNodeList colorNodes = color.ChildNodes;
97 foreach (XmlNode colorNode
in colorNodes)
99 string name = colorNode.LocalName;
103 colorScheme.Dark1 = ParseColor(colorNode.ChildNodes);
106 colorScheme.Light1 = ParseColor(colorNode.ChildNodes);
109 colorScheme.Dark2 = ParseColor(colorNode.ChildNodes);
112 colorScheme.Light2 = ParseColor(colorNode.ChildNodes);
115 colorScheme.Accent1 = ParseColor(colorNode.ChildNodes);
118 colorScheme.Accent2 = ParseColor(colorNode.ChildNodes);
121 colorScheme.Accent3 = ParseColor(colorNode.ChildNodes);
124 colorScheme.Accent4 = ParseColor(colorNode.ChildNodes);
127 colorScheme.Accent5 = ParseColor(colorNode.ChildNodes);
130 colorScheme.Accent6 = ParseColor(colorNode.ChildNodes);
133 colorScheme.Hyperlink = ParseColor(colorNode.ChildNodes);
136 colorScheme.FollowedHyperlink = ParseColor(colorNode.ChildNodes);
148 throw new IOException(
"The XML entry could not be read from the input stream. Please see the inner exception:", ex);