public override object Clone() { NumberRecord rec = new NumberRecord(); CopyBaseFields(rec); rec.field_4_value = field_4_value; return(rec); }
/// <summary> /// RK record is a slightly smaller alternative to NumberRecord /// POI likes NumberRecord better /// </summary> /// <param name="rk">The rk.</param> /// <returns></returns> public static NumberRecord ConvertToNumberRecord(RKRecord rk) { NumberRecord num = new NumberRecord(); num.Column = (rk.Column); num.Row = (rk.Row); num.XFIndex = (rk.XFIndex); num.Value = (rk.RKNumber); return(num); }
/// <summary> /// Converts a MulRKRecord into an equivalent array of NumberRecords /// </summary> /// <param name="mrk">The MRK.</param> /// <returns></returns> public static NumberRecord[] ConvertRKRecords(MulRKRecord mrk) { NumberRecord[] mulRecs = new NumberRecord[mrk.NumColumns]; for (int k = 0; k < mrk.NumColumns; k++) { NumberRecord nr = new NumberRecord(); nr.Column = ((short)(k + mrk.FirstColumn)); nr.Row = (mrk.Row); nr.XFIndex = (mrk.GetXFAt(k)); nr.Value = (mrk.GetRKNumberAt(k)); mulRecs[k] = nr; } return(mulRecs); }
/// <summary> /// Sets the cell type. The SetValue flag indicates whether to bother about /// trying to preserve the current value in the new record if one is Created. /// The SetCellValue method will call this method with false in SetValue /// since it will overWrite the cell value later /// </summary> /// <param name="cellType">Type of the cell.</param> /// <param name="setValue">if set to <c>true</c> [set value].</param> /// <param name="row">The row.</param> /// <param name="col">The col.</param> /// <param name="styleIndex">Index of the style.</param> private void SetCellType(CellType cellType, bool setValue, int row, int col, short styleIndex) { if (cellType > CellType.ERROR) { throw new Exception("I have no idea what type that Is!"); } switch (cellType) { case CellType.FORMULA: FormulaRecordAggregate frec = null; if (cellType != this.cellType) { frec = sheet.Sheet.RowsAggregate.CreateFormula(row, col); } else { frec = (FormulaRecordAggregate)record; } frec.Column = col; if (setValue) { frec.FormulaRecord.Value = NumericCellValue; } frec.XFIndex = styleIndex; frec.Row = row; record = frec; break; case CellType.NUMERIC: NumberRecord nrec = null; if (cellType != this.cellType) { nrec = new NumberRecord(); } else { nrec = (NumberRecord)record; } nrec.Column = col; if (setValue) { nrec.Value = NumericCellValue; } nrec.XFIndex = styleIndex; nrec.Row = row; record = nrec; break; case CellType.STRING: LabelSSTRecord lrec = null; if (cellType != this.cellType) { lrec = new LabelSSTRecord(); } else { lrec = (LabelSSTRecord)record; } lrec.Column = col; lrec.Row = row; lrec.XFIndex = styleIndex; if (setValue) { String str = ConvertCellValueToString(); int sstIndex = book.Workbook.AddSSTString(new UnicodeString(str)); lrec.SSTIndex = (sstIndex); UnicodeString us = book.Workbook.GetSSTString(sstIndex); stringValue = new HSSFRichTextString(); stringValue.UnicodeString = us; } record = lrec; break; case CellType.BLANK: BlankRecord brec = null; if (cellType != this.cellType) { brec = new BlankRecord(); } else { brec = (BlankRecord)record; } brec.Column = col; // During construction the cellStyle may be null for a Blank cell. brec.XFIndex = styleIndex; brec.Row = row; record = brec; break; case CellType.BOOLEAN: BoolErrRecord boolRec = null; if (cellType != this.cellType) { boolRec = new BoolErrRecord(); } else { boolRec = (BoolErrRecord)record; } boolRec.Column = col; if (setValue) { boolRec.SetValue(ConvertCellValueToBoolean()); } boolRec.XFIndex = styleIndex; boolRec.Row = row; record = boolRec; break; case CellType.ERROR: BoolErrRecord errRec = null; if (cellType != this.cellType) { errRec = new BoolErrRecord(); } else { errRec = (BoolErrRecord)record; } errRec.Column = col; if (setValue) { errRec.SetValue((byte)HSSFErrorConstants.ERROR_VALUE); } errRec.XFIndex = styleIndex; errRec.Row = row; record = errRec; break; } if (cellType != this.cellType && this.cellType != CellType.Unknown) // Special Value to indicate an Uninitialized Cell { sheet.Sheet.ReplaceValueRecord(record); } this.cellType = cellType; }
public override object Clone() { NumberRecord rec = new NumberRecord(); CopyBaseFields(rec); rec.field_4_value = field_4_value; return rec; }
/// <summary> /// Converts a MulRKRecord into an equivalent array of NumberRecords /// </summary> /// <param name="mrk">The MRK.</param> /// <returns></returns> public static NumberRecord[] ConvertRKRecords(MulRKRecord mrk) { NumberRecord[] mulRecs = new NumberRecord[mrk.NumColumns]; for (int k = 0; k < mrk.NumColumns; k++) { NumberRecord nr = new NumberRecord(); nr.Column = ((short)(k + mrk.FirstColumn)); nr.Row = (mrk.Row); nr.XFIndex = (mrk.GetXFAt(k)); nr.Value = (mrk.GetRKNumberAt(k)); mulRecs[k] = nr; } return mulRecs; }
/// <summary> /// RK record is a slightly smaller alternative to NumberRecord /// POI likes NumberRecord better /// </summary> /// <param name="rk">The rk.</param> /// <returns></returns> public static NumberRecord ConvertToNumberRecord(RKRecord rk) { NumberRecord num = new NumberRecord(); num.Column = (rk.Column); num.Row = (rk.Row); num.XFIndex = (rk.XFIndex); num.Value = (rk.RKNumber); return num; }
/// <summary> /// Create a NUMBER Record (does not Add it to the records contained in this sheet) /// </summary> /// <param name="row">the row the NumberRecord is a member of</param> /// <param name="col">the column the NumberRecord defines</param> /// <param name="value">value for the number record</param> /// <returns>NumberRecord for that row, col containing that value as Added to the sheet</returns> public NumberRecord CreateNumber(int row, short col, double value) { //log.LogFormatted(POILogger.DEBUG, "Create number row,col,value %,%,%", // new double[] //{ // row, col, value //}); NumberRecord rec = new NumberRecord(); rec.Row = row; rec.Column = col; rec.Value = value; rec.XFIndex = (short)0x0f; return rec; }