Class Spreadsheet::Excel::SstEntry
In: lib/spreadsheet/excel/sst_entry.rb
Parent: Object
Column Format Row Font Enumerable Worksheet\n[lib/spreadsheet/excel.rb\nlib/spreadsheet/worksheet.rb] Link Workbook Workbook\n[lib/spreadsheet/excel.rb\nlib/spreadsheet/excel/workbook.rb] SstEntry String Row Array Worksheet ExcelCompatibleWorkbook Format Worksheet Workbook DelegateClassSpreadsheet::Format Writer Compatibility Formula Reader\n[lib/parseexcel/parseexcel.rb\nlib/spreadsheet/excel/reader.rb\nlib/spreadsheet/excel/reader/biff5.rb\nlib/spreadsheet/excel/reader/biff8.rb] Error lib/spreadsheet/excel.rb lib/spreadsheet/link.rb lib/spreadsheet/formula.rb lib/spreadsheet/workbook.rb lib/spreadsheet/font.rb lib/spreadsheet/column.rb lib/spreadsheet/format.rb lib/spreadsheet/writer.rb lib/spreadsheet/row.rb Encodings lib/spreadsheet/excel.rb lib/spreadsheet/excel/row.rb lib/spreadsheet/excel/reader/biff5.rb lib/spreadsheet/excel/worksheet.rb lib/spreadsheet/excel/sst_entry.rb lib/spreadsheet/excel/error.rb lib/spreadsheet/excel/workbook.rb lib/spreadsheet/excel/writer/format.rb lib/spreadsheet/excel/writer/workbook.rb lib/spreadsheet/excel/writer/worksheet.rb Biff8 Writer Biff5 Biff8 Internals Offset Excel Datatypes ParseExcel Compatibility Spreadsheet dot/m_34_0.png

Shared String Table Entry

Methods

content   continue   new  

Included Modules

Spreadsheet::Encodings

Attributes

available  [RW] 
chars  [RW] 
continued_chars  [RW] 
flags  [RW] 
phonetic  [RW] 
richtext  [RW] 
wide  [RW] 

Public Class methods

[Source]

    # File lib/spreadsheet/excel/sst_entry.rb, line 11
11:   def initialize opts = {}
12:     @content = nil
13:     @offset = opts[:offset]
14:     @ole    = opts[:ole]
15:     @reader = opts[:reader]
16:     @continuations = []
17:   end

Public Instance methods

Access the contents of this Shared String

[Source]

    # File lib/spreadsheet/excel/sst_entry.rb, line 20
20:   def content
21:     @content or begin
22:       data = nil
23:       data = @ole[@offset, @available]
24:       content, _ = @reader.read_string_body data, @flags, @available, @wide
25:       @continuations.each do |offset, len|
26:         @reader.continue_string(@ole[offset,len], [content, @chars])
27:       end
28:       content = client content, 'UTF-16LE'
29:       if @reader.memoize?
30:         @content = content
31:       end
32:       content
33:     end
34:   end

Register the offset of a String continuation

[Source]

    # File lib/spreadsheet/excel/sst_entry.rb, line 37
37:   def continue offset, size, chars
38:     @continued_chars -= chars
39:     @continuations.push [offset, size]
40:   end

[Validate]