xlsxrb 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +27 -12
- data/Steepfile +1 -0
- data/docs/visual/VisualGallery.md +8 -0
- data/docs/wasm/ruby.wasm +0 -0
- data/lib/ruby_lsp/xlsxrb/addon.rb +43 -0
- data/lib/ruby_lsp/xlsxrb/completion_listener.rb +769 -0
- data/lib/xlsxrb/elements/cell.rb +98 -4
- data/lib/xlsxrb/elements/column.rb +22 -0
- data/lib/xlsxrb/elements/row.rb +81 -1
- data/lib/xlsxrb/elements/types.rb +36 -5
- data/lib/xlsxrb/elements/workbook.rb +73 -5
- data/lib/xlsxrb/elements/worksheet.rb +110 -1
- data/lib/xlsxrb/version.rb +1 -1
- data/lib/xlsxrb.rb +530 -181
- data/sig/generated/xlsxrb/elements/cell.rbs +10 -1
- data/sig/generated/xlsxrb/elements/column.rbs +5 -0
- data/sig/generated/xlsxrb/elements/row.rbs +8 -1
- data/sig/generated/xlsxrb/elements/types.rbs +13 -5
- data/sig/generated/xlsxrb/elements/workbook.rbs +8 -1
- data/sig/generated/xlsxrb/elements/worksheet.rbs +7 -0
- data/sig/generated/xlsxrb.rbs +606 -236
- metadata +3 -1
|
@@ -3,7 +3,16 @@
|
|
|
3
3
|
module Xlsxrb
|
|
4
4
|
module Elements
|
|
5
5
|
# Represents a single cell in a worksheet.
|
|
6
|
-
# All indices are 0-based.
|
|
6
|
+
# All row and column indices are 0-based.
|
|
7
|
+
#
|
|
8
|
+
# @example Access cell properties
|
|
9
|
+
# cell = sheet["A1"]
|
|
10
|
+
# cell.value # raw value
|
|
11
|
+
# cell.ref # "A1"
|
|
12
|
+
# cell.to_i # integer value
|
|
13
|
+
# cell.to_date # Date value
|
|
14
|
+
#
|
|
15
|
+
# @api public
|
|
7
16
|
class Cell < Data
|
|
8
17
|
attr_reader row_index(): untyped
|
|
9
18
|
|
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
module Xlsxrb
|
|
4
4
|
module Elements
|
|
5
5
|
# Represents a single row in a worksheet.
|
|
6
|
-
#
|
|
6
|
+
# All row and column indices are 0-based.
|
|
7
|
+
#
|
|
8
|
+
# @example Access cell by index or symbol
|
|
9
|
+
# row = sheet.row_at(0)
|
|
10
|
+
# cell = row[0] # cell at column 0
|
|
11
|
+
# row.to_a # array of cell values
|
|
12
|
+
#
|
|
13
|
+
# @api public
|
|
7
14
|
class Row < Data
|
|
8
15
|
attr_reader index(): untyped
|
|
9
16
|
|
|
@@ -8,8 +8,12 @@ module Xlsxrb
|
|
|
8
8
|
|
|
9
9
|
EMPTY_CELLS: untyped
|
|
10
10
|
|
|
11
|
-
# Represents
|
|
12
|
-
#
|
|
11
|
+
# Represents an Excel formula with an optional cached value and calculation properties.
|
|
12
|
+
#
|
|
13
|
+
# @example Create a formula
|
|
14
|
+
# formula = Elements::Formula.new(expression: "SUM(A1:A10)")
|
|
15
|
+
#
|
|
16
|
+
# @api public
|
|
13
17
|
class Formula < Data
|
|
14
18
|
attr_reader expression(): untyped
|
|
15
19
|
|
|
@@ -44,6 +48,7 @@ module Xlsxrb
|
|
|
44
48
|
end
|
|
45
49
|
|
|
46
50
|
# Represents a cell error value (e.g. #N/A, #REF!, #DIV/0!).
|
|
51
|
+
# @api public
|
|
47
52
|
VALID_ERROR_CODES: untyped
|
|
48
53
|
|
|
49
54
|
class CellError < Data
|
|
@@ -57,9 +62,12 @@ module Xlsxrb
|
|
|
57
62
|
def members: () -> [ :code ]
|
|
58
63
|
end
|
|
59
64
|
|
|
60
|
-
# Represents a rich text string with formatting runs.
|
|
61
|
-
#
|
|
62
|
-
#
|
|
65
|
+
# Represents a rich text string with multiple formatting runs.
|
|
66
|
+
#
|
|
67
|
+
# @example
|
|
68
|
+
# rt = Elements::RichText.new(runs: [{ text: "Hello ", font: { bold: true } }, { text: "World" }])
|
|
69
|
+
#
|
|
70
|
+
# @api public
|
|
63
71
|
class RichText < Data
|
|
64
72
|
attr_reader runs(): untyped
|
|
65
73
|
|
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
module Xlsxrb
|
|
4
4
|
module Elements
|
|
5
|
-
# Represents an entire XLSX workbook.
|
|
5
|
+
# Represents an entire in-memory XLSX workbook.
|
|
6
|
+
#
|
|
7
|
+
# @example Access sheets
|
|
8
|
+
# workbook = Xlsxrb.read("report.xlsx")
|
|
9
|
+
# sheet = workbook.sheet(0) # or workbook["Sheet1"]
|
|
10
|
+
# workbook.each { |s| puts s.name }
|
|
11
|
+
#
|
|
12
|
+
# @api public
|
|
6
13
|
class Workbook < Data
|
|
7
14
|
attr_reader sheets(): untyped
|
|
8
15
|
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
module Xlsxrb
|
|
4
4
|
module Elements
|
|
5
5
|
# Represents a single worksheet in a workbook.
|
|
6
|
+
#
|
|
7
|
+
# @example Access cells and rows
|
|
8
|
+
# sheet = workbook.sheet(0)
|
|
9
|
+
# cell = sheet["A1"]
|
|
10
|
+
# sheet.each_row { |row| puts row.to_a.inspect }
|
|
11
|
+
#
|
|
12
|
+
# @api public
|
|
6
13
|
class Worksheet < Data
|
|
7
14
|
attr_reader name(): untyped
|
|
8
15
|
|