Example #1
0
	    internal XlsBiffLabelCell(byte[] bytes, uint offset, ExcelBinaryReader reader)
	        : base(bytes, offset, reader)
	    {
	        m_UseEncoding = reader.DefaultEncoding;
            xlsString = XlsStringFactory.CreateXlsString(bytes, offset, reader);

	    }
Example #2
0
        /// <summary>
        /// Creates an instance of <see cref="ExcelBinaryReader"/>
        /// </summary>
        /// <param name="fileStream">The file stream.</param>
        /// <returns></returns>
        public async Task <IExcelDataReader> CreateBinaryReaderAsync(Stream fileStream)
        {
            IExcelDataReader reader = new ExcelBinaryReader(dataHelper);
            await reader.InitializeAsync(fileStream);

            return(reader);
        }
Example #3
0
 public XlsBiffStream(XlsHeader hdr, uint streamStart, bool isMini, XlsRootDirectory rootDir,
                      ExcelBinaryReader reader)
     : base(hdr, streamStart, isMini, rootDir) {
     this.reader=reader;
     bytes=base.ReadStream();
     m_size=bytes.Length;
     m_offset=0;
 }
Example #4
0
 public XlsBiffStream(XlsHeader hdr, uint streamStart, bool isMini, XlsRootDirectory rootDir, ExcelBinaryReader reader)
     : base(hdr, streamStart, isMini, rootDir)
 {
     this.reader = reader;
     bytes       = base.ReadStream();
     m_size      = bytes.Length;
     m_offset    = 0;
 }
 public SequenceFileReader(string filename)
 {
     this.HasFile = File.Exists(filename);
     if (HasFile)
     {
         _input  = new FileStream(filename, FileMode.Open, FileAccess.Read);
         _reader = ExcelReaderFactory.CreateBinaryReader(_input) as ExcelBinaryReader;
     }
 }
Example #6
0
 public static IXlsString CreateXlsString(byte[] bytes, uint offset, ExcelBinaryReader reader)
 {
     if (reader.isV8())
     {
         //return new XlsFormattedUnicodeString(bytes, offset, reader.Encoding);
         return(new XlsFormattedUnicodeString(bytes, offset));
     }
     else
     {
         return(new XlsByteString(bytes, offset, reader.Encoding));
     }
 }
Example #7
0
        protected XlsBiffRecord(byte[] bytes, uint offset, ExcelBinaryReader reader) {
            if (bytes.Length-offset<4)
                throw new ArgumentException(Errors.ErrorBIFFRecordSize);
            m_bytes=bytes;
            this.reader=reader;
            m_readoffset=(int)(4+offset);

            //Set readOption to loose to not cause exception here (sql reporting services)
            if (reader.ReadOption==ReadOption.Strict) {
                if (bytes.Length<offset+Size)
                    throw new ArgumentException(Errors.ErrorBIFFBufferSize);
            }
        }
Example #8
0
        protected XlsBiffRecord(byte[] bytes, uint offset, ExcelBinaryReader reader)
        {
            if (bytes.Length - offset < 4)
            {
                throw new ArgumentException(Errors.ErrorBIFFRecordSize);
            }
            m_bytes      = bytes;
            this.reader  = reader;
            m_readoffset = (int)(4 + offset);

            //Set readOption to loose to not cause exception here (sql reporting services)
            if (reader.ReadOption == ReadOption.Strict)
            {
                if (bytes.Length < offset + Size)
                {
                    throw new ArgumentException(Errors.ErrorBIFFBufferSize);
                }
            }
        }
Example #9
0
 internal XlsBiffFormulaString(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
Example #10
0
 internal XlsBiffHyperLink(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader) {
 }
		internal XlsBiffDimensions(byte[] bytes, uint offset, ExcelBinaryReader reader)
			: base(bytes, offset, reader)
		{
		}
Example #12
0
 internal XlsBiffWindow1(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader) {
 }
		internal XlsBiffLabelCell(byte[] bytes, uint offset, ExcelBinaryReader reader)
			: base(bytes, offset, reader)
		{
		}
Example #14
0
 internal XlsBiffBoundSheet(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
Example #15
0
 internal XlsBiffDimensions(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
Example #16
0
 internal XlsBiffInterfaceHdr(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader) {
 }
Example #17
0
 internal XlsBiffFormatString(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader) {
 }
		/// <summary>
		/// Returns record at specified offset
		/// </summary>
		/// <param name="bytes">byte array</param>
		/// <param name="offset">position in array</param>
		/// <param name="reader"></param>
		/// <returns></returns>
		public static XlsBiffRecord GetRecord(byte[] bytes, uint offset, ExcelBinaryReader reader)
		{
            if ((uint)offset >= bytes.Length)
                return null;

			uint ID = BitConverter.ToUInt16(bytes, (int)offset);
			//Console.WriteLine("GetRecord {0}", (BIFFRECORDTYPE)ID);
			switch ((BIFFRECORDTYPE)ID)
			{
				case BIFFRECORDTYPE.BOF_V2:
				case BIFFRECORDTYPE.BOF_V3:
				case BIFFRECORDTYPE.BOF_V4:
				case BIFFRECORDTYPE.BOF:
					return new XlsBiffBOF(bytes, offset, reader);
				case BIFFRECORDTYPE.EOF:
					return new XlsBiffEOF(bytes, offset, reader);
				case BIFFRECORDTYPE.INTERFACEHDR:
					return new XlsBiffInterfaceHdr(bytes, offset, reader);

				case BIFFRECORDTYPE.SST:
					return new XlsBiffSST(bytes, offset, reader);

				case BIFFRECORDTYPE.INDEX:
					return new XlsBiffIndex(bytes, offset, reader);
				case BIFFRECORDTYPE.ROW:
					return new XlsBiffRow(bytes, offset, reader);
				case BIFFRECORDTYPE.DBCELL:
					return new XlsBiffDbCell(bytes, offset, reader);

                case BIFFRECORDTYPE.BOOLERR:
                case BIFFRECORDTYPE.BOOLERR_OLD:
				case BIFFRECORDTYPE.BLANK:
				case BIFFRECORDTYPE.BLANK_OLD:
					return new XlsBiffBlankCell(bytes, offset, reader);
				case BIFFRECORDTYPE.MULBLANK:
					return new XlsBiffMulBlankCell(bytes, offset, reader);
				case BIFFRECORDTYPE.LABEL:
				case BIFFRECORDTYPE.LABEL_OLD:
				case BIFFRECORDTYPE.RSTRING:
					return new XlsBiffLabelCell(bytes, offset, reader);
				case BIFFRECORDTYPE.LABELSST:
					return new XlsBiffLabelSSTCell(bytes, offset, reader);
				case BIFFRECORDTYPE.INTEGER:
				case BIFFRECORDTYPE.INTEGER_OLD:
					return new XlsBiffIntegerCell(bytes, offset, reader);
				case BIFFRECORDTYPE.NUMBER:
				case BIFFRECORDTYPE.NUMBER_OLD:
					return new XlsBiffNumberCell(bytes, offset, reader);
				case BIFFRECORDTYPE.RK:
					return new XlsBiffRKCell(bytes, offset, reader);
				case BIFFRECORDTYPE.MULRK:
					return new XlsBiffMulRKCell(bytes, offset, reader);
				case BIFFRECORDTYPE.FORMULA:
				case BIFFRECORDTYPE.FORMULA_OLD:
					return new XlsBiffFormulaCell(bytes, offset, reader);
                case BIFFRECORDTYPE.FORMAT_V23:
                case BIFFRECORDTYPE.FORMAT:
					return new XlsBiffFormatString(bytes, offset, reader);
				case BIFFRECORDTYPE.STRING:
					return new XlsBiffFormulaString(bytes, offset, reader);
				case BIFFRECORDTYPE.CONTINUE:
					return new XlsBiffContinue(bytes, offset, reader);
				case BIFFRECORDTYPE.DIMENSIONS:
					return new XlsBiffDimensions(bytes, offset, reader);
				case BIFFRECORDTYPE.BOUNDSHEET:
					return new XlsBiffBoundSheet(bytes, offset, reader);
				case BIFFRECORDTYPE.WINDOW1:
					return new XlsBiffWindow1(bytes, offset, reader);
				case BIFFRECORDTYPE.CODEPAGE:
					return new XlsBiffSimpleValueRecord(bytes, offset, reader);
				case BIFFRECORDTYPE.FNGROUPCOUNT:
					return new XlsBiffSimpleValueRecord(bytes, offset, reader);
				case BIFFRECORDTYPE.RECORD1904:
					return new XlsBiffSimpleValueRecord(bytes, offset, reader);
				case BIFFRECORDTYPE.BOOKBOOL:
					return new XlsBiffSimpleValueRecord(bytes, offset, reader);
				case BIFFRECORDTYPE.BACKUP:
					return new XlsBiffSimpleValueRecord(bytes, offset, reader);
				case BIFFRECORDTYPE.HIDEOBJ:
					return new XlsBiffSimpleValueRecord(bytes, offset, reader);
				case BIFFRECORDTYPE.USESELFS:
					return new XlsBiffSimpleValueRecord(bytes, offset, reader);
				case BIFFRECORDTYPE.UNCALCED:
					return new XlsBiffUncalced(bytes, offset, reader);
				case BIFFRECORDTYPE.QUICKTIP:
					return new XlsBiffQuickTip(bytes, offset, reader);

				default:
					return new XlsBiffRecord(bytes, offset, reader);
			}
		}
Example #19
0
 internal XlsBiffBoolErr(byte[] bytes, ExcelBinaryReader reader)
     : this(bytes, 0,reader)
 {
 }
Example #20
0
 internal XlsBiffBoolErr(byte[] bytes, ExcelBinaryReader reader)
     : this(bytes, 0, reader)
 {
 }
Example #21
0
 internal XlsBiffHyperLink(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
Example #22
0
 internal XlsBiffSimpleValueRecord(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
 internal XlsBiffUncalced(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
Example #24
0
 internal XlsBiffQuickTip(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader) {
 }
		internal XlsBiffBoundSheet(byte[] bytes, uint offset, ExcelBinaryReader reader)
			: base(bytes, offset, reader)
		{
		}
 internal XlsBiffMSODrawing(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
		internal XlsBiffSST(byte[] bytes, uint offset, ExcelBinaryReader reader)
			: base(bytes, offset, reader)
		{
			m_size = RecordSize;
			m_strings = new List<string>();
		}
Example #28
0
        /// <summary>
        /// Returns record at specified offset
        /// </summary>
        /// <param name="bytes">byte array</param>
        /// <param name="offset">position in array</param>
        /// <param name="reader"></param>
        /// <returns></returns>
        public static XlsBiffRecord GetRecord(byte[] bytes, uint offset, ExcelBinaryReader reader)
        {
            if ((uint)offset >= bytes.Length)
            {
                return(null);
            }

            uint ID = BitConverter.ToUInt16(bytes, (int)offset);

            //Console.WriteLine("GetRecord {0}", (BIFFRECORDTYPE)ID);
            switch ((BIFFRECORDTYPE)ID)
            {
            case BIFFRECORDTYPE.BOF_V2:
            case BIFFRECORDTYPE.BOF_V3:
            case BIFFRECORDTYPE.BOF_V4:
            case BIFFRECORDTYPE.BOF:
                return(new XlsBiffBOF(bytes, offset, reader));

            case BIFFRECORDTYPE.EOF:
                return(new XlsBiffEOF(bytes, offset, reader));

            case BIFFRECORDTYPE.INTERFACEHDR:
                return(new XlsBiffInterfaceHdr(bytes, offset, reader));

            case BIFFRECORDTYPE.SST:
                return(new XlsBiffSST(bytes, offset, reader));

            case BIFFRECORDTYPE.INDEX:
                return(new XlsBiffIndex(bytes, offset, reader));

            case BIFFRECORDTYPE.ROW:
                return(new XlsBiffRow(bytes, offset, reader));

            case BIFFRECORDTYPE.DBCELL:
                return(new XlsBiffDbCell(bytes, offset, reader));

            case BIFFRECORDTYPE.BOOLERR:
            case BIFFRECORDTYPE.BOOLERR_OLD:
            case BIFFRECORDTYPE.BLANK:
            case BIFFRECORDTYPE.BLANK_OLD:
                return(new XlsBiffBlankCell(bytes, offset, reader));

            case BIFFRECORDTYPE.MULBLANK:
                return(new XlsBiffMulBlankCell(bytes, offset, reader));

            case BIFFRECORDTYPE.LABEL:
            case BIFFRECORDTYPE.LABEL_OLD:
            case BIFFRECORDTYPE.RSTRING:
                return(new XlsBiffLabelCell(bytes, offset, reader));

            case BIFFRECORDTYPE.LABELSST:
                return(new XlsBiffLabelSSTCell(bytes, offset, reader));

            case BIFFRECORDTYPE.INTEGER:
            case BIFFRECORDTYPE.INTEGER_OLD:
                return(new XlsBiffIntegerCell(bytes, offset, reader));

            case BIFFRECORDTYPE.NUMBER:
            case BIFFRECORDTYPE.NUMBER_OLD:
                return(new XlsBiffNumberCell(bytes, offset, reader));

            case BIFFRECORDTYPE.RK:
                return(new XlsBiffRKCell(bytes, offset, reader));

            case BIFFRECORDTYPE.MULRK:
                return(new XlsBiffMulRKCell(bytes, offset, reader));

            case BIFFRECORDTYPE.FORMULA:
            case BIFFRECORDTYPE.FORMULA_OLD:
                return(new XlsBiffFormulaCell(bytes, offset, reader));

            case BIFFRECORDTYPE.FORMAT_V23:
            case BIFFRECORDTYPE.FORMAT:
                return(new XlsBiffFormatString(bytes, offset, reader));

            case BIFFRECORDTYPE.STRING:
                return(new XlsBiffFormulaString(bytes, offset, reader));

            case BIFFRECORDTYPE.CONTINUE:
                return(new XlsBiffContinue(bytes, offset, reader));

            case BIFFRECORDTYPE.DIMENSIONS:
                return(new XlsBiffDimensions(bytes, offset, reader));

            case BIFFRECORDTYPE.BOUNDSHEET:
                return(new XlsBiffBoundSheet(bytes, offset, reader));

            case BIFFRECORDTYPE.WINDOW1:
                return(new XlsBiffWindow1(bytes, offset, reader));

            case BIFFRECORDTYPE.CODEPAGE:
                return(new XlsBiffSimpleValueRecord(bytes, offset, reader));

            case BIFFRECORDTYPE.FNGROUPCOUNT:
                return(new XlsBiffSimpleValueRecord(bytes, offset, reader));

            case BIFFRECORDTYPE.RECORD1904:
                return(new XlsBiffSimpleValueRecord(bytes, offset, reader));

            case BIFFRECORDTYPE.BOOKBOOL:
                return(new XlsBiffSimpleValueRecord(bytes, offset, reader));

            case BIFFRECORDTYPE.BACKUP:
                return(new XlsBiffSimpleValueRecord(bytes, offset, reader));

            case BIFFRECORDTYPE.HIDEOBJ:
                return(new XlsBiffSimpleValueRecord(bytes, offset, reader));

            case BIFFRECORDTYPE.USESELFS:
                return(new XlsBiffSimpleValueRecord(bytes, offset, reader));

            case BIFFRECORDTYPE.UNCALCED:
                return(new XlsBiffUncalced(bytes, offset, reader));

            case BIFFRECORDTYPE.QUICKTIP:
                return(new XlsBiffQuickTip(bytes, offset, reader));

            case BIFFRECORDTYPE.MSODRAWING:
                return(new XlsBiffMSODrawing(bytes, offset, reader));

            default:
                return(new XlsBiffRecord(bytes, offset, reader));
            }
        }
Example #29
0
 internal XlsBiffQuickTip(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
Example #30
0
 internal XlsBiffSST(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
     m_size    = RecordSize;
     m_strings = new List <string>();
 }
 internal XlsBiffFormatString(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
     unicodeString = new XlsFormattedUnicodeString(bytes, offset + 6);
     //unicodeString = new XlsFormattedUnicodeString(bytes, offset + 6, reader.Encoding);
 }
Example #32
0
 internal XlsBiffUncalced(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader) {
 }
 internal XlsBiffSimpleValueRecord(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
Example #34
0
 internal XlsBiffIndex(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
Example #35
0
 internal XlsBiffMulRKCell(byte[] bytes, uint offset, ExcelBinaryReader reader)
     : base(bytes, offset, reader)
 {
 }
		internal XlsBiffContinue(byte[] bytes, uint offset, ExcelBinaryReader reader)
			: base(bytes, offset, reader)
		{
		}