private void Dispose(bool disposing) {
            // Check to see if Dispose has already been called.

            if (!disposed) {
                if (disposing) {
                    if (m_xmlReader != null)
                        ((IDisposable)m_xmlReader).Dispose();
                    if (m_sheetStream != null)
                        m_sheetStream.Dispose();
                    if (m_zipWorker != null)
                        m_zipWorker.Dispose();
                }

                m_zipWorker = null;
                m_xmlReader = null;
                m_sheetStream = null;

                m_workbook = null;
                m_cellsValues = null;
                m_savedCellsValues = null;

                disposed = true;
            }
        }
        private void ReadGlobals() {
            m_workbook = new XlsxWorkbook(
                m_zipWorker.GetWorkbookStream(),
                m_zipWorker.GetWorkbookRelsStream(),
                m_zipWorker.GetSharedStringsStream(),
                m_zipWorker.GetStylesStream());

            CheckDateTimeNumFmts(m_workbook.Styles.NumFmts);
        }