/// <summary> /// 从 Xlsx 行数据流中读取模版对象, 并返回 /// </summary> /// <typeparam name="TXlsxCol"></typeparam> /// <param name="toXlsxColObj"></param> /// <param name="fromStream"></param> /// <returns></returns> public static TXlsxCol ReadXlsxColFrom <TXlsxCol>(TXlsxCol toXlsxColObj, XlsxRowReadStream fromStream) where TXlsxCol : BaseXlsxCol, new() { if (toXlsxColObj == null) { // 如果消息对象为空, // 则直接新建! toXlsxColObj = new TXlsxCol(); } // 从二进制流中读取数据 toXlsxColObj.ReadFrom(fromStream); // 返回消息对象 return(toXlsxColObj); }
// @Override protected override void ReadImpl(XlsxRowReadStream fromStream) { if (fromStream == null || this._innerList == null || this._innerList.Count <= 0) { // 如果参数对象为空或者内置列表为空, // 则直接退出! return; } foreach (T obj in this._innerList) { obj.ReadFrom(fromStream); } }
/// <summary> /// 读取 Xlsx 行数据 /// </summary> /// <param name="fromStream"></param> public void ReadFrom(XlsxRowReadStream fromStream) { if (fromStream == null) { // 如果参数对象为空, // 则直接退出! return; } // 设置 Xlsx 文件名、页签名和索引位置 this.XlsxFileName = fromStream.XlsxFileName; this.SheetName = fromStream.SheetName; this.RowIndex = fromStream.RowIndex; this.ColIndex = fromStream.CurrCellIndex; // 读取数据 this.ReadImpl(fromStream); }
// @Override protected override void ReadImpl(XlsxRowReadStream fromStream) { if (fromStream == null) { // 如果参数对象为空, // 则直接退出! return; } // 获取帮助器对象 IReadHelper helperObj = ReadHelperMaker.Make(this.GetType()); if (helperObj != null) { // 如果帮助器不为空, // 则读取消息对象! helperObj.ReadTmplObjFrom(this, fromStream); } }
// @Override protected override void ReadImpl(XlsxRowReadStream stream) { this.Val = stream.ReadBool(); }
/// <summary> /// 读取实现 /// </summary> /// <param name="stream"></param> protected abstract void ReadImpl(XlsxRowReadStream stream);
// @Override protected override void ReadImpl(XlsxRowReadStream stream) { stream.ReadCellVal(); }