예제 #1
0
 internal ExcelStyles(XmlNamespaceManager NameSpaceManager, XmlDocument xml, ExcelWorkbook wb) :
     base(NameSpaceManager, xml)
 {       
     _styleXml=xml;
     _wb = wb;
     _nameSpaceManager = NameSpaceManager;
     SchemaNodeOrder = new string[] { "numFmts", "fonts", "fills", "borders", "cellStyleXfs", "cellXfs", "cellStyles", "dxfs" };
     LoadFromDocument();
 }
예제 #2
0
 internal ExcelNamedRangeCollection(ExcelWorkbook wb, ExcelWorksheet ws)
 {
     _wb = wb;
     _ws = ws;
 }
예제 #3
0
 internal ExcelNamedRangeCollection(ExcelWorkbook wb)
 {
     _wb = wb;
     _ws = null;
 }
예제 #4
0
 internal ExcelNamedRange(string name, ExcelWorkbook wb, ExcelWorksheet nameSheet) :
     base(wb, nameSheet, name, true)
 {
     Name   = name;
     _sheet = nameSheet;
 }
예제 #5
0
        /// <summary>
        /// Creates a new ExcelWorkbookView which provides access to all the 
        /// view states of the worksheet.
        /// </summary>
        /// <param name="ns"></param>
        /// <param name="node"></param>
        /// <param name="wb"></param>
        internal ExcelWorkbookView(XmlNamespaceManager ns, XmlNode node, ExcelWorkbook wb) :
            base(ns, node)
		{
            SchemaNodeOrder = wb.SchemaNodeOrder;
		}
예제 #6
0
        /// <summary>
        /// Creates a new ExcelWorkbookView which provides access to all the 
        /// view states of the worksheet.
        /// </summary>
        /// <param name="ns"></param>
        /// <param name="node"></param>
        /// <param name="wb"></param>
        internal ExcelWorkbookView(XmlNamespaceManager ns, XmlNode node, ExcelWorkbook wb) :
            base(ns, node)
		{
            SchemaNodeOrder = wb.SchemaNodeOrder;
		}
예제 #7
0
 internal ExcelProtection(XmlNamespaceManager ns, XmlNode topNode, ExcelWorkbook wb) :
     base(ns, topNode)
 {
     SchemaNodeOrder = wb.SchemaNodeOrder;
 }
예제 #8
0
 internal ExcelNamedRange(string name,ExcelWorkbook wb, ExcelWorksheet nameSheet) :
     base(wb, nameSheet, name, true)
 {
     Name = name;
     _sheet = nameSheet;
 }
예제 #9
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="input"></param>
        /// <param name="output"></param>
        /// <param name="Password"></param>
        private void Load(Stream input, Stream output, string Password)
        {
            //Release some resources:
            if (this._package != null)
            {
                this._package.Close();
                this._package = null;
            }
            if (this._stream != null)
            {
                this._stream.Close();
                this._stream.Dispose();
                this._stream = null;
            }

            if (Password != null)
            {
                Stream encrStream = new MemoryStream();
                CopyStream(input, ref encrStream);
                EncryptedPackageHandler eph=new EncryptedPackageHandler();
                Encryption.Password = Password;
                this._stream = eph.DecryptPackage((MemoryStream)encrStream, Encryption);
            }
            else
            {
                this._stream = output;
                CopyStream(input, ref this._stream);
            }

            try
            {
                this._package = Package.Open(this._stream, FileMode.Open, FileAccess.ReadWrite);
            }
            catch (Exception ex)
            {
                EncryptedPackageHandler eph = new EncryptedPackageHandler();
                if (Password == null && EncryptedPackageHandler.IsStorageILockBytes(eph.GetLockbyte((MemoryStream)_stream)) == 0)
                {
                    throw new Exception("Can not open the package. Package is an OLE compound document. If this is an encrypted package, please supply the password", ex);
                }
                else
                {
                    throw (ex);
                }
            }
            
            //Clear the workbook so that it gets reinitialized next time
            this._workbook = null;
        }
예제 #10
0
 internal ExcelProtection(XmlNamespaceManager ns, XmlNode topNode, ExcelWorkbook wb) :
     base(ns, topNode)
 {
     SchemaNodeOrder = wb.SchemaNodeOrder;
 }