예제 #1
0
        /**
         * Constructs a Extern Sheet record and Sets its fields appropriately.
         * @param in the RecordInputstream to Read the record from
         */
        public ExternSheetRecord(RecordInputStream in1)
        {
            _list = new ArrayList();

            int nItems = in1.ReadShort();

            for (int i = 0; i < nItems; ++i)
            {
                RefSubRecord rec = new RefSubRecord(in1);

                _list.Add(rec);
            }
        }
예제 #2
0
        public int GetRefIxForSheet(int externalBookIndex, int firstSheetIndex, int lastSheetIndex)
        {
            int nItems = _list.Count;

            for (int i = 0; i < nItems; i++)
            {
                RefSubRecord ref1 = GetRef(i);
                if (ref1.ExtBookIndex != externalBookIndex)
                {
                    continue;
                }
                if (ref1.FirstSheetIndex == firstSheetIndex && ref1.LastSheetIndex == lastSheetIndex)
                {
                    return(i);
                }
            }
            return(-1);
        }
예제 #3
0
        public void RemoveSheet(int sheetIdx)
        {
            int nItems = _list.Count;

            for (int i = 0; i < nItems; i++)
            {
                RefSubRecord refSubRecord = _list[(i)];
                if (refSubRecord.FirstSheetIndex == sheetIdx &&
                    refSubRecord.LastSheetIndex == sheetIdx)
                {
                    // removing the entry would mess up the sheet index in Formula of NameRecord
                    _list[i] = new RefSubRecord(refSubRecord.ExtBookIndex, -1, -1);
                }
                else if (refSubRecord.FirstSheetIndex > sheetIdx &&
                         refSubRecord.LastSheetIndex > sheetIdx)
                {
                    _list[i] = (new RefSubRecord(refSubRecord.ExtBookIndex, refSubRecord.FirstSheetIndex - 1, refSubRecord.LastSheetIndex - 1));
                }
            }
        }
예제 #4
0
 /** 
  * Adds REF struct (ExternSheetSubRecord)
  * @param rec REF struct
  */
 public void AddREFRecord(RefSubRecord rec)
 {
     _list.Add(rec);
 }
예제 #5
0
        /**
         * Returns the index of the SupBookRecord for this index
         */
        public int GetExtbookIndexFromRefIndex(int refIndex)
        {
            RefSubRecord refRec = GetRef(refIndex);

            return(refRec.ExtBookIndex);
        }
예제 #6
0
 /**
  * Adds REF struct (ExternSheetSubRecord)
  * @param rec REF struct
  */
 public void AddREFRecord(RefSubRecord rec)
 {
     _list.Add(rec);
 }