Method: Writeexcel::Worksheet#boundsheet

Defined in:
lib/writeexcel/worksheet.rb

#boundsheetObject

Excel BIFF BOUNDSHEET record.

sheetname  # Worksheet name
offset     # Location of worksheet BOF
type       # Worksheet type
hidden     # Worksheet hidden flag
encoding   # Sheet name encoding


4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
# File 'lib/writeexcel/worksheet.rb', line 4584

def boundsheet       #:nodoc:
  hidden    = self.hidden? ? 1 : 0
  encoding  = self.is_name_utf16be? ? 1 : 0

  record    = 0x0085                  # Record identifier
  length    = 0x08 + @name.bytesize   # Number of bytes to follow

  cch       = @name.bytesize          # Length of sheet name

  # Character length is num of chars not num of bytes
  cch /= 2 if is_name_utf16be?

  # Change the UTF-16 name from BE to LE
  sheetname = is_name_utf16be? ? @name.unpack('v*').pack('n*') : @name

  grbit     = @type | hidden

  header    = [record, length].pack("vv")
  data      = [@offset, grbit, cch, encoding].pack("VvCC")

  header + data + sheetname
end