Class: Xlsxrb::StreamWriter::WorksheetProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/xlsxrb/stream_writer.rb,
sig/generated/xlsxrb/stream_writer.rbs

Overview

Proxy object yielded by the sheet method to prevent writing to inactive sheets in streaming mode.

Instance Method Summary collapse

Constructor Details

#initialize(writer, sheet_name) ⇒ Object

Parameters:



131
132
133
134
# File 'lib/xlsxrb/stream_writer.rb', line 131

def initialize(writer, sheet_name)
  @writer = writer
  @sheet_name = sheet_name
end

Instance Method Details

#app_propertyvoid

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Sets app metadata property.

: (String | Symbol name, untyped value) -> void

Parameters:

  • name (String, Symbol)

    Property name.

  • value (Object)

    Property value.



701
702
703
704
705
# File 'lib/xlsxrb/stream_writer.rb', line 701

def app_property(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.app_property(...)
end

#auto_filtervoid

This method returns an undefined value.

Sets the auto-filter range on the active sheet.

: (String ref) -> void

Examples:

s.auto_filter("A1:D100")

Parameters:

  • ref (String)

    The cell range (e.g. "A1:D10").



305
306
307
308
309
# File 'lib/xlsxrb/stream_writer.rb', line 305

def auto_filter(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.auto_filter(...)
end

#chart {|chart_builder| ... } ⇒ void

This method returns an undefined value.

Adds a chart to the active sheet.

: (?Symbol | String? type, **untyped opts) ?{ (Xlsxrb::ChartBuilder) -> void } -> void

Examples:

s.chart(:bar) do |chart_builder|
  chart_builder.title("Quarterly Sales")
  chart_builder.series(values: "Sheet1!$B$2:$B$5", categories: "Sheet1!$A$2:$A$5", name: "Revenue")
end

Parameters:

  • type (Symbol, String, nil)

    The chart type (:bar, :col, :line, :pie, :scatter, :area, :doughnut, :radar).

  • opts (Hash)

    Additional chart options.

Yields:

  • (chart_builder)

Yield Parameters:



268
269
270
271
272
# File 'lib/xlsxrb/stream_writer.rb', line 268

def chart(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.chart(...)
end

#cleanup!void

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block : () -> void



401
402
403
404
405
# File 'lib/xlsxrb/stream_writer.rb', line 401

def cleanup!(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.cleanup!(...)
end

#columnvoid

This method returns an undefined value.

Configures column width and properties.

: (Integer | String | Symbol | Range[Integer | String] | Array[Integer | String] col_index, ?width: Float | Integer | nil, ?hidden: bool, ?best_fit: bool, ?custom_width: bool, ?outline_level: Integer | nil, ?collapsed: bool) -> void

Examples:

Set column A width

s.column(0, width: 25.0)

Parameters:

  • col_index (Integer, String, Symbol)

    0-based column index or letter (e.g. 0 or "A" or :A).

  • width (Float, Integer, nil)

    Column width in characters.

  • hidden (Boolean)

    Whether the column is hidden.

  • best_fit (Boolean)

    Whether the column automatically fits content.

  • custom_width (Boolean)

    Whether to flag as custom width.

  • outline_level (Integer, nil)

    Grouping/outline level (0 - 7).

  • collapsed (Boolean)

    Whether the outline group is collapsed.

  • width: (Float, Integer, nil)
  • hidden: (Boolean)
  • best_fit: (Boolean)
  • custom_width: (Boolean)
  • outline_level: (Integer, nil)
  • collapsed: (Boolean)


247
248
249
250
251
# File 'lib/xlsxrb/stream_writer.rb', line 247

def column(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.column(...)
end

#commentvoid

This method returns an undefined value.

Adds a comment to a cell.

: (String | Integer cell, String text, ?author: String) -> void

Examples:

s.comment("A1", "Reviewed and approved", author: "Auditor")

Parameters:

  • cell (String, Integer)

    The cell reference (e.g. "A1").

  • text (String)

    The comment text.

  • author (String)

    The author name.

  • author: (String)


419
420
421
422
423
# File 'lib/xlsxrb/stream_writer.rb', line 419

def comment(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.comment(...)
end

#conditional_formatvoid

This method returns an undefined value.

Adds conditional formatting to a range.

: (String range, ?type: String | Symbol, **untyped opts) -> void

Examples:

Highlight values greater than 100

s.conditional_format("A1:A10", type: "cellIs", operator: "greaterThan", formula: 100, style: :highlight)

Parameters:

  • range (String)

    The cell range (e.g. "A1:A10").

  • type (String, Symbol)

    Rule type ("cellIs", "colorScale", "dataBar", "expression").

  • opts (Hash)

    Rule options.

  • type: (String, Symbol)


372
373
374
375
376
# File 'lib/xlsxrb/stream_writer.rb', line 372

def conditional_format(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.conditional_format(...)
end

#core_propertyvoid

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Sets core metadata property.

: (String | Symbol name, untyped value) -> void

Parameters:

  • name (String, Symbol)

    Property name.

  • value (Object)

    Property value.



598
599
600
601
602
# File 'lib/xlsxrb/stream_writer.rb', line 598

def core_property(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.core_property(...)
end

#custom_propertyvoid

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Sets custom metadata property.

: (String | Symbol name, untyped value) -> void

Parameters:

  • name (String, Symbol)

    Property name.

  • value (Object)

    Property value.



729
730
731
732
733
# File 'lib/xlsxrb/stream_writer.rb', line 729

def custom_property(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.custom_property(...)
end

#defined_namevoid

This method returns an undefined value.

Adds a defined named range or formula.

: (String name, String formula, ?sheet_id: Integer | nil, ?hidden: bool) -> void

Examples:

s.defined_name("TaxRate", "0.10")

Parameters:

  • name (String)

    The name.

  • formula (String)

    The formula or range expression.

  • sheet_id (Integer, nil)

    Optional sheet scope.

  • hidden (Boolean)

    Whether the name is hidden.

  • sheet_id: (Integer, nil)
  • hidden: (Boolean)


502
503
504
505
506
# File 'lib/xlsxrb/stream_writer.rb', line 502

def defined_name(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.defined_name(...)
end

#filter_columnvoid

This method returns an undefined value.

Sets filter criteria for a column in the auto-filter.

: (Integer col_id, Array | Hash[Symbol, untyped] filter_values) -> void

Examples:

Simple values filter

s.filter_column(0, ["Active", "Pending"])

Parameters:

  • col_id (Integer)

    0-based column index relative to auto-filter range.

  • filter_values (Array<String>, Hash)

    Values or filter specification hash.



321
322
323
324
325
# File 'lib/xlsxrb/stream_writer.rb', line 321

def filter_column(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.filter_column(...)
end

#freeze_panevoid

This method returns an undefined value.

Freezes rows and/or columns for scrolling.

: (?row: Integer | nil, ?col: Integer | nil) -> void

Examples:

Freeze top row

s.freeze_pane(row: 1)

Freeze first column and top 2 rows

s.freeze_pane(row: 2, col: 1)

Parameters:

  • row (Integer, nil)

    Number of rows to freeze.

  • col (Integer, nil)

    Number of columns to freeze.

  • row: (Integer, nil)
  • col: (Integer, nil)


521
522
523
524
525
# File 'lib/xlsxrb/stream_writer.rb', line 521

def freeze_pane(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.freeze_pane(...)
end

This method returns an undefined value.

Configures header and footer text for printing.

: (**untyped opts) -> void

Parameters:

  • opts (Hash)

    Header and footer specifications.



656
657
658
659
660
# File 'lib/xlsxrb/stream_writer.rb', line 656

def header_footer(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.header_footer(...)
end

This method returns an undefined value.

Adds a hyperlink to a cell.

: (String cell, ?String? url, ?display: String?, ?tooltip: String?, ?location: String?) -> void

Examples:

Positional URL

s.hyperlink("A1", "https://example.com", display: "Example")

Keyword location

s.hyperlink("A1", location: "https://example.com", tooltip: "Go to Example")

Parameters:

  • cell (String)

    The cell reference (e.g. "A1").

  • url (String, nil)

    The target URL or URI.

  • display (String, nil)

    Display text for the link.

  • tooltip (String, nil)

    Tooltip text when hovering.

  • location (String, nil)

    Destination location / URL (keyword alternative).

  • display: (String, nil)
  • tooltip: (String, nil)
  • location: (String, nil)


290
291
292
293
294
# File 'lib/xlsxrb/stream_writer.rb', line 290

def hyperlink(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.hyperlink(...)
end

#imagevoid

This method returns an undefined value.

Inserts an image into the sheet.

: (String file_data, ?ext: String, ?from_col: Integer, ?from_row: Integer, ?to_col: Integer, ?to_row: Integer, **untyped opts) -> void

Parameters:

  • file_data (String)

    Binary image data or file content.

  • ext (String)

    Image extension ("png", "jpeg", etc.).

  • from_col (Integer)

    Starting column index (0-based).

  • from_row (Integer)

    Starting row index (0-based).

  • to_col (Integer)

    Ending column index (0-based).

  • to_row (Integer)

    Ending row index (0-based).

  • opts (Hash)

    Additional anchor and sizing options.

  • ext: (String)
  • from_col: (Integer)
  • from_row: (Integer)
  • to_col: (Integer)
  • to_row: (Integer)


748
749
750
751
752
# File 'lib/xlsxrb/stream_writer.rb', line 748

def image(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.image(...)
end

#internal_sheet_setupvoid

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block : (*untyped args, **untyped kwargs) ?{ (*untyped) -> untyped } -> untyped

Parameters:

  • args (Object)
  • kwargs (Object)


201
202
203
204
205
# File 'lib/xlsxrb/stream_writer.rb', line 201

def internal_sheet_setup(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.internal_sheet_setup(...)
end

#mergevoid

This method returns an undefined value.

Merges a range of cells into a single cell.

: (?String? range, ?row: Integer | nil, ?col_start: (Integer | String)?, ?col_end: (Integer | String)?, ?row_start: Integer | nil, ?row_end: Integer | nil) -> void

Examples:

Merge with cell reference string

s.merge("A1:C1")

Merge with coordinates

s.merge(row: 0, col_start: 0, col_end: 2)

Parameters:

  • range (String, nil)

    The cell range (e.g. "A1:B2").

  • row (Integer, nil)

    0-based row index.

  • col_start (Integer, String, nil)

    0-based start column index or letter.

  • col_end (Integer, String, nil)

    0-based end column index or letter.

  • row_start (Integer, nil)

    0-based start row index.

  • row_end (Integer, nil)

    0-based end row index.

  • row: (Integer, nil)
  • col_start: (Integer, String, nil)
  • col_end: (Integer, String, nil)
  • row_start: (Integer, nil)
  • row_end: (Integer, nil)


171
172
173
174
175
# File 'lib/xlsxrb/stream_writer.rb', line 171

def merge(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.merge(...)
end

#page_break_colvoid

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Adds a vertical page break after the given column index.

: (Integer col_index) -> void

Parameters:

  • col_index (Integer)

    0-based column index.



790
791
792
793
794
# File 'lib/xlsxrb/stream_writer.rb', line 790

def page_break_col(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.page_break_col(...)
end

#page_break_rowvoid

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Adds a horizontal page break after the given row index.

: (Integer row_index) -> void

Parameters:

  • row_index (Integer)

    0-based row index.



775
776
777
778
779
# File 'lib/xlsxrb/stream_writer.rb', line 775

def page_break_row(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.page_break_row(...)
end

#page_marginsvoid

This method returns an undefined value.

Configures page margins for printing.

: (?left: Float | nil, ?right: Float | nil, ?top: Float | nil, ?bottom: Float | nil, ?header: Float | nil, ?footer: Float | nil) -> void

Parameters:

  • left (Float, nil)

    Left margin in inches.

  • right (Float, nil)

    Right margin in inches.

  • top (Float, nil)

    Top margin in inches.

  • bottom (Float, nil)

    Bottom margin in inches.

  • header (Float, nil)

    Header margin in inches.

  • footer (Float, nil)

    Footer margin in inches.

  • left: (Float, nil)
  • right: (Float, nil)
  • top: (Float, nil)
  • bottom: (Float, nil)
  • header: (Float, nil)
  • footer: (Float, nil)


630
631
632
633
634
# File 'lib/xlsxrb/stream_writer.rb', line 630

def page_margins(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.page_margins(...)
end

#page_setupvoid

This method returns an undefined value.

Configures page orientation, paper size, and print setup.

: (?orientation: (String | Symbol)?, ?paper_size: Integer | nil, **untyped opts) -> void

Parameters:

  • orientation (String, Symbol, nil)

    "portrait" or "landscape" (or :portrait, :landscape).

  • paper_size (Integer, nil)

    Paper size index (e.g. 9 for A4, 1 for Letter).

  • opts (Hash)

    Additional options (scale, fit_to_width, fit_to_height).

  • orientation: (String, Symbol, nil)
  • paper_size: (Integer, nil)


644
645
646
647
648
# File 'lib/xlsxrb/stream_writer.rb', line 644

def page_setup(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.page_setup(...)
end

#pivot_tablevoid

This method returns an undefined value.

Adds a Pivot Table to the sheet.

: (String source_ref, row_fields: untyped, data_fields: untyped, ?col_fields: untyped, ?dest_ref: String, ?name: String?, ?field_names: untyped, ?items: untyped, **untyped opts) -> void

Parameters:

  • source_ref (String)

    Source data range reference (e.g. "Sheet1!A1:D100").

  • row_fields (Array<String>)

    Field names for rows.

  • data_fields (Array<String>)

    Field names for data values.

  • col_fields (Array<String>)

    Field names for columns.

  • dest_ref (String)

    Target top-left cell reference (default: "E1").

  • name (String, nil)

    Pivot table name.

  • field_names (Array<String>, nil)

    Override field names.

  • items (Array, nil)

    Items configuration.

  • opts (Hash)

    Additional options.

  • row_fields: (Object)
  • data_fields: (Object)
  • col_fields: (Object)
  • dest_ref: (String)
  • name: (String, nil)
  • field_names: (Object)
  • items: (Object)


439
440
441
442
443
# File 'lib/xlsxrb/stream_writer.rb', line 439

def pivot_table(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.pivot_table(...)
end

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Sets the print area range for the sheet.

: (String ref) -> void

Parameters:

  • ref (String)

    Range reference.



535
536
537
538
539
# File 'lib/xlsxrb/stream_writer.rb', line 535

def print_area(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.print_area(...)
end

This method returns an undefined value.

Configures print options (e.g. gridlines, headings).

: (Symbol | String name, untyped value) -> void

Parameters:

  • name (Symbol, String)

    Print option name.

  • value (Object)

    Print option value.



669
670
671
672
673
# File 'lib/xlsxrb/stream_writer.rb', line 669

def print_options(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.print_options(...)
end

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Configures repeating title rows and columns for printing.

: (?rows: String?, ?cols: String?) -> void

Parameters:

  • rows (String, nil)

    Row range to repeat (e.g. "1:2").

  • cols (String, nil)

    Column range to repeat (e.g. "A:B").

  • rows: (String, nil)
  • cols: (String, nil)


551
552
553
554
555
# File 'lib/xlsxrb/stream_writer.rb', line 551

def print_titles(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.print_titles(...)
end

#propertiesvoid

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Sets document metadata properties (core, app, custom).

: (?core: Hash[untyped, untyped]?, ?app: Hash[untyped, untyped]?, ?custom: Hash[untyped, untyped]?) -> void

Parameters:

  • core (Hash, nil)

    Core properties (title, creator, subject, etc.).

  • app (Hash, nil)

    App properties (company, manager).

  • custom (Hash, nil)

    Custom properties.

  • core: (Hash[untyped, untyped], nil)
  • app: (Hash[untyped, untyped], nil)
  • custom: (Hash[untyped, untyped], nil)


685
686
687
688
689
# File 'lib/xlsxrb/stream_writer.rb', line 685

def properties(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.properties(...)
end

#protect_sheetvoid

This method returns an undefined value.

Protects the worksheet against modifications.

: (**untyped opts) -> void

Parameters:

  • opts (Hash)

    Protection options.



714
715
716
717
718
# File 'lib/xlsxrb/stream_writer.rb', line 714

def protect_sheet(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.protect_sheet(...)
end

#protect_workbookvoid

This method returns an undefined value.

simplecov:disable Edge case / untested delegation block Protects the workbook structure.

: (**untyped opts) -> void

Parameters:

  • opts (Hash)

    Protection options.



582
583
584
585
586
# File 'lib/xlsxrb/stream_writer.rb', line 582

def protect_workbook(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.protect_workbook(...)
end

#row(values, styles: nil, height: nil, hidden: false, custom_height: false, outline_level: nil) ⇒ void Also known as: <<

This method returns an undefined value.

Appends a row of cells to the active sheet.

: (Array | Hash[untyped, untyped] values, ?styles: untyped, ?height: Float | Integer | nil, ?hidden: bool, ?custom_height: bool, ?outline_level: Integer | nil) -> void

Examples:

Write an array of values

s.row(["Name", "Age", "City"])

Write with explicit column keys and styles

s.row({ A: "Header", C: 100 }, styles: { A: :bold })

Parameters:

  • values (Array, Hash)

    The cell values (e.g. [1, 2, 3] or { A: 1, C: 3 }).

  • styles (String, Symbol, Array, Hash, nil) (defaults to: nil)

    Style names or hashes to apply.

  • height (Float, Integer, nil) (defaults to: nil)

    The row height in points (0 - 409).

  • hidden (Boolean) (defaults to: false)

    Whether the row is hidden.

  • custom_height (Boolean) (defaults to: false)

    Whether to flag as custom height.

  • outline_level (Integer, nil) (defaults to: nil)

    Grouping/outline level (0 - 7).

  • styles: (Object) (defaults to: nil)
  • height: (Float, Integer, nil) (defaults to: nil)
  • hidden: (Boolean) (defaults to: false)
  • custom_height: (Boolean) (defaults to: false)
  • outline_level: (Integer, nil) (defaults to: nil)


225
226
227
228
229
# File 'lib/xlsxrb/stream_writer.rb', line 225

def row(values, styles: nil, height: nil, hidden: false, custom_height: false, outline_level: nil)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.row(values, styles: styles, height: height, hidden: hidden, custom_height: custom_height, outline_level: outline_level)
end

#select_cellvoid

This method returns an undefined value.

Sets the active/selected cell on the sheet.

: (String active_cell, ?sqref: String?, ?pane: (String | Symbol)?) -> void

Parameters:

  • active_cell (String)

    Cell reference (e.g. "A1").

  • sqref (String, nil)

    Selection range.

  • pane (String, Symbol, nil)

    Pane identifier.

  • sqref: (String, nil)
  • pane: (String, Symbol, nil)


613
614
615
616
617
# File 'lib/xlsxrb/stream_writer.rb', line 613

def select_cell(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.select_cell(...)
end

#shapevoid

This method returns an undefined value.

Adds a drawing shape to the sheet.

: (?preset: String, ?text: String?, ?from_col: Integer, ?from_row: Integer, ?to_col: Integer, ?to_row: Integer, **untyped opts) -> void

Examples:

s.shape(preset: "ellipse", text: "Circle", from_col: 1, from_row: 1, to_col: 4, to_row: 5)

Parameters:

  • preset (String)

    Preset shape type (e.g. "rect", "ellipse").

  • text (String, nil)

    Shape label text.

  • from_col (Integer)

    Starting column index (0-based).

  • from_row (Integer)

    Starting row index (0-based).

  • to_col (Integer)

    Ending column index (0-based).

  • to_row (Integer)

    Ending row index (0-based).

  • opts (Hash)

    Additional shape formatting options.

  • preset: (String)
  • text: (String, nil)
  • from_col: (Integer)
  • from_row: (Integer)
  • to_col: (Integer)
  • to_row: (Integer)


192
193
194
195
196
# File 'lib/xlsxrb/stream_writer.rb', line 192

def shape(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.shape(...)
end

#sheet_propertiesvoid

This method returns an undefined value.

Sets sheet properties (e.g. tab color, page setup flags).

: (Symbol | String name, untyped value) -> void

Examples:

s.sheet_properties(:tab_color, "FF0000")

Parameters:

  • name (Symbol, String)

    Property name.

  • value (Object)

    Property value.



484
485
486
487
488
# File 'lib/xlsxrb/stream_writer.rb', line 484

def sheet_properties(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.sheet_properties(...)
end

#sheet_viewvoid

This method returns an undefined value.

Configures sheet view settings (zoom scale, grid lines visibility).

: (Symbol | String name, untyped value) -> void

Parameters:

  • name (Symbol, String)

    View setting name.

  • value (Object)

    View setting value.



761
762
763
764
765
# File 'lib/xlsxrb/stream_writer.rb', line 761

def sheet_view(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.sheet_view(...)
end

#sort_statevoid

This method returns an undefined value.

Configures sort state on a range.

: (String ref, Array[Hash[Symbol, untyped]] | Hash[Symbol, untyped] sort_conditions, **untyped opts) -> void

Examples:

s.sort_state("A1:A10", [{ ref: "A1:A10", descending: true }])

Parameters:

  • ref (String)

    The range to sort.

  • sort_conditions (Array<Hash>, Hash)

    Sort conditions array or options hash.

  • opts (Hash)

    Additional sort options.



338
339
340
341
342
# File 'lib/xlsxrb/stream_writer.rb', line 338

def sort_state(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.sort_state(...)
end

#sparkline_groupvoid

This method returns an undefined value.

Adds sparklines to the sheet.

: (sparklines: Array[Hash[Symbol, untyped]], ?type: (String | Symbol)?, **untyped opts) -> void

Examples:

s.sparkline_group(sparklines: [{ data_ref: "A1:E1", location_ref: "F1" }], type: "line")

Parameters:

  • sparklines (Array<Hash>)

    Array of { data_ref:, location_ref: } hashes.

  • type (String, Symbol, nil)

    "line" (default), "column", or "stacked".

  • opts (Hash)

    Additional sparkline options.

  • sparklines: (Array[Hash[Symbol, untyped]])
  • type: (String, Symbol, nil)


456
457
458
459
460
# File 'lib/xlsxrb/stream_writer.rb', line 456

def sparkline_group(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.sparkline_group(...)
end

#split_panevoid

This method returns an undefined value.

Splits sheet view into panes.

: (?x_split: Numeric | nil, ?y_split: Numeric | nil, ?top_left_cell: String?, ?active_pane: String?, ?state: String?) -> void

Parameters:

  • x_split (Numeric, nil)

    Horizontal split position.

  • y_split (Numeric, nil)

    Vertical split position.

  • top_left_cell (String, nil)

    Top-left visible cell in bottom-right pane.

  • active_pane (String, nil)

    Active pane identifier.

  • state (String, nil)

    Split state.

  • x_split: (Numeric, nil)
  • y_split: (Numeric, nil)
  • top_left_cell: (String, nil)
  • active_pane: (String, nil)
  • state: (String, nil)


568
569
570
571
572
# File 'lib/xlsxrb/stream_writer.rb', line 568

def split_pane(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.split_pane(...)
end

#style {|style_builder| ... } ⇒ Xlsxrb::StyleBuilder

Defines or configures a named cell style on the active sheet.

: (String | Symbol name, **untyped opts) ?{ (Xlsxrb::StyleBuilder) -> void } -> Xlsxrb::StyleBuilder

Examples:

s.style(:header, bold: true, fill_color: "4F81BD", font_color: "FFFFFF")

Parameters:

  • name (String, Symbol)

    The name of the style.

  • opts (Hash)

    Style options (e.g. bold: true, fill_color: "FF0000").

Yields:

  • (style_builder)

Yield Parameters:

Returns:



148
149
150
151
152
# File 'lib/xlsxrb/stream_writer.rb', line 148

def style(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.style(...)
end

#tablevoid

This method returns an undefined value.

Adds a formatted Excel Table to the sheet.

: (String ref, columns: untyped, ?name: String?, ?display_name: String?, ?style: String?, **untyped opts) -> void

Examples:

s.table("A1:C10", columns: ["ID", "Name", "Total"], name: "SalesTable", style: "TableStyleMedium9")

Parameters:

  • ref (String)

    The cell range for the table (e.g. "A1:D10").

  • columns (Array<String>, Array<Hash>)

    Column names or definitions.

  • name (String, nil)

    Table name.

  • display_name (String, nil)

    Display name.

  • style (String, nil)

    Table style name.

  • opts (Hash)

    Additional options.

  • columns: (Object)
  • name: (String, nil)
  • display_name: (String, nil)
  • style: (String, nil)


392
393
394
395
396
# File 'lib/xlsxrb/stream_writer.rb', line 392

def table(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.table(...)
end

#validate_datavoid

This method returns an undefined value.

Adds data validation rules to a range.

: (String range, ?type: String | Symbol, **untyped opts) -> void

Examples:

Dropdown list validation

s.validate_data("B2:B100", type: "list", formula1: '"High,Medium,Low"')

Parameters:

  • range (String)

    The cell range (e.g. "B2:B10").

  • type (String, Symbol)

    Validation type ("list", "whole", "decimal", "date", "time", "textLength", "custom").

  • opts (Hash)

    Validation options.

  • type: (String, Symbol)


355
356
357
358
359
# File 'lib/xlsxrb/stream_writer.rb', line 355

def validate_data(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.validate_data(...)
end

#workbook_propertyvoid

This method returns an undefined value.

Sets workbook-level properties.

: (**untyped opts) -> void

Parameters:

  • opts (Hash)

    Workbook property options.



468
469
470
471
472
# File 'lib/xlsxrb/stream_writer.rb', line 468

def workbook_property(...)
  raise Error, "Sheet '#{@sheet_name}' is no longer active. In streaming mode, you cannot write to a previous sheet." if @writer.current_sheet != @sheet_name

  @writer.workbook_property(...)
end