Beispiel #1
0
 def __all_links_rec(self):
     pieces = []
     temp = [(idx, tag) for tag, idx in self._supbook_xref.items()]
     temp.sort()
     for idx, tag in temp:
         stype, snum = tag
         if stype == 'ownbook':
             rec = BIFFRecords.InternalReferenceSupBookRecord(len(self.__worksheets)).get()
             pieces.append(rec)
         elif stype == 'xcall':
             rec = BIFFRecords.XcallSupBookRecord().get()
             pieces.append(rec)
             temp = [(idx, name) for name, idx in self._xcall_xref.items()]
             temp.sort()
             for idx, name in temp:
                 rec = BIFFRecords.ExternnameRecord(
                     options=0, index=0, name=name, fmla='\x02\x00\x1c\x17').get()
                 pieces.append(rec)
         else:
             raise Exception('unknown supbook stype %r' % stype)
     if len(self.__sheet_refs) > 0:
         # get references in index order
         temp = [(idx, ref) for ref, idx in self.__sheet_refs.items()]
         temp.sort()
         temp = [ref for idx, ref in temp]
         externsheet_record = BIFFRecords.ExternSheetRecord(temp).get()
         pieces.append(externsheet_record)
     return ''.join(pieces)
Beispiel #2
0
 def __all_links_rec(self):
     supbook_records = ''
     #~ supbook_records += BIFFRecords.AddInFunctionSupBookRecord(len(self.__worksheets)).get()
     supbook_records += BIFFRecords.InternalReferenceSupBookRecord(
         len(self.__worksheets)).get()
     #~ supbook_records += BIFFRecords.ExternalReferenceSupBookRecord(len(self.__worksheets)).get()
     externsheet_record = BIFFRecords.ExternSheetRecord(self.__refs).get()
     return supbook_records + externsheet_record