private void ReadStyles(byte[] byteArray)
		{
            if (byteArray == null) return;

			_Styles = new XlsxStyles();

			bool rXlsxNumFmt = false;

            Stream xmlFileStream = new MemoryStream(byteArray);

			using (XmlReader reader = XmlReader.Create(xmlFileStream))
			{
				while (reader.Read())
				{
					if (!rXlsxNumFmt && reader.NodeType == XmlNodeType.Element && reader.Name == N_numFmts)
					{
						while (reader.Read())
						{
							if (reader.NodeType == XmlNodeType.Element && reader.Depth == 1) break;

							if (reader.NodeType == XmlNodeType.Element && reader.Name == XlsxNumFmt.N_numFmt)
							{
								_Styles.NumFmts.Add(
									new XlsxNumFmt(
										int.Parse(reader.GetAttribute(XlsxNumFmt.A_numFmtId)),
										reader.GetAttribute(XlsxNumFmt.A_formatCode)
										));
							}
						}

						rXlsxNumFmt = true;
					}

					if (reader.NodeType == XmlNodeType.Element && reader.Name == N_cellXfs)
					{
						while (reader.Read())
						{
							if (reader.NodeType == XmlNodeType.Element && reader.Depth == 1) break;

							if (reader.NodeType == XmlNodeType.Element && reader.Name == XlsxXf.N_xf)
							{
								_Styles.CellXfs.Add(
									new XlsxXf(
										int.Parse(reader.GetAttribute(XlsxXf.A_xfId)),
										int.Parse(reader.GetAttribute(XlsxXf.A_numFmtId)),
										reader.GetAttribute(XlsxXf.A_applyNumberFormat)
										));
							}
						}

						break;
					}
				}

				xmlFileStream.Close();
			}
		}