internal XlsBiffLabelCell(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { m_UseEncoding = reader.DefaultEncoding; xlsString = XlsStringFactory.CreateXlsString(bytes, offset, reader); }
/// <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); }
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 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; } }
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)); } }
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); } }
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); } } }
internal XlsBiffFormulaString(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffHyperLink(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffDimensions(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffWindow1(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffLabelCell(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffBoundSheet(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffInterfaceHdr(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
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); } }
internal XlsBiffBoolErr(byte[] bytes, ExcelBinaryReader reader) : this(bytes, 0,reader) { }
internal XlsBiffBoolErr(byte[] bytes, ExcelBinaryReader reader) : this(bytes, 0, reader) { }
internal XlsBiffSimpleValueRecord(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffUncalced(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffQuickTip(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>(); }
/// <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)); } }
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); }
internal XlsBiffIndex(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffMulRKCell(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }
internal XlsBiffContinue(byte[] bytes, uint offset, ExcelBinaryReader reader) : base(bytes, offset, reader) { }