rubyXL 1.1.0 → 1.1.1
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.
- data/README.rdoc +102 -6
- data/VERSION +1 -1
- data/lib/writer/worksheet_writer.rb +1 -1
- data/rubyXL.gemspec +1 -1
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -6,13 +6,61 @@
|
|
6
6
|
== To Use:
|
7
7
|
require 'rubyXL' #assuming rubygems is already required
|
8
8
|
|
9
|
-
=== Parsing
|
9
|
+
=== Parsing an existing workbook
|
10
10
|
workbook = RubyXL::Parser.parse("path/to/Excel/file.xlsx")
|
11
11
|
|
12
12
|
|
13
|
-
=== Creating
|
13
|
+
=== Creating a new Workbook
|
14
14
|
workbook = RubyXL::Workbook.new
|
15
15
|
|
16
|
+
=== Accessing
|
17
|
+
|
18
|
+
==== Accessing a Worksheet
|
19
|
+
workbook.worksheets[0] #returns first worksheet
|
20
|
+
workbook[0] #returns first worksheet
|
21
|
+
|
22
|
+
==== Accessing a Row (Array of Cells)
|
23
|
+
workbook[0].sheet_data[0] #returns first row in first worksheet
|
24
|
+
workbook[0][0] #returns first row in first worksheet
|
25
|
+
|
26
|
+
==== Accessing a Cell
|
27
|
+
workbook[0].sheet_data[0][0] #returns A1 in first worksheet
|
28
|
+
workbook[0][0][0] #returns A1 in first worksheet
|
29
|
+
|
30
|
+
==== Accessing Cell properties
|
31
|
+
workbook[0][0][0].is_struckthrough() #returns if A1 is struckthrough, other boolean properties have same syntax
|
32
|
+
workbook[0][0][0].font_name #returns font name for A1
|
33
|
+
workbook[0][0][0].font_size #returns font size for A1
|
34
|
+
workbook[0][0][0].font_color #returns font color for A1
|
35
|
+
workbook[0][0][0].fill_color #returns fill color for A1
|
36
|
+
workbook[0][0][0].horizontal_alignment #returns horizontal alignment for A1 (or nil if it does not exist)
|
37
|
+
workbook[0][0][0].vertical_alignment #returns vertical alignment for A1 (or nil if it does not exist)
|
38
|
+
workbook[0][0][0].border_top #returns type of border on top of A1 (nil if none exists), other directions have same syntax
|
39
|
+
|
40
|
+
==== Accessing row properties
|
41
|
+
workbook[0].get_row_fill(0) #returns fill color for first row
|
42
|
+
workbook[0].get_row_font_name(0) #returns font name for first row
|
43
|
+
workbook[0].get_row_font_size(0) #returns font size for first row
|
44
|
+
workbook[0].get_row_font_color(0) #returns font color for first row
|
45
|
+
workbook[0].is_row_underlined(0) #returns if first row is italicized, other boolean properties have same syntax
|
46
|
+
workbook[0].get_row_height(0) #returns height of first row
|
47
|
+
workbook[0].get_row_horizontal_alignment(0) #returns horizontal alignment of first row (nil if none exists)
|
48
|
+
workbook[0].get_row_vertical_alignment(0) #returns vertical alignment of first row (nil if none exists)
|
49
|
+
workbook[0].get_row_border_right(0) #returns weight of right border of first row (nil if none exists), other directions have the same syntax
|
50
|
+
|
51
|
+
==== Accessing column properties
|
52
|
+
workbook[0].get_column_fill(0) #returns fill color for first column
|
53
|
+
workbook[0].get_column_font_name(0) #returns font name for first column
|
54
|
+
workbook[0].get_column_font_size(0) #returns font size for first column
|
55
|
+
workbook[0].get_column_font_color(0) #returns font color for first column
|
56
|
+
workbook[0].is_column_underlined(0) #returns if first column is italicized, other boolean properties have same syntax
|
57
|
+
workbook[0].get_column_height(0) #returns height of first column
|
58
|
+
workbook[0].get_column_horizontal_alignment(0) #returns horizontal alignment of first column (nil if none exists)
|
59
|
+
workbook[0].get_column_vertical_alignment(0) #returns vertical alignment of first column (nil if none exists)
|
60
|
+
workbook[0].get_column_border_right(0) #returns weight of right border of first column (nil if none exists), other directions have the same syntax
|
61
|
+
|
62
|
+
==== Table identification
|
63
|
+
#get table
|
16
64
|
|
17
65
|
=== Modifying
|
18
66
|
|
@@ -21,23 +69,71 @@
|
|
21
69
|
|
22
70
|
==== Adding Cells
|
23
71
|
workbook.worksheets[0].add_cell(0,0,'A1') #sets A1 to string "A1"
|
24
|
-
workbook.worksheets[0].add_cell(0,1,'','A1') #sets
|
72
|
+
workbook.worksheets[0].add_cell(0,1,'','A1') #sets B1 to value of A1
|
73
|
+
|
74
|
+
workbook.worksheets[0].add_cell_obj(Cell.new(1,0,'blah')) #sets A2 to 'blah'
|
75
|
+
|
25
76
|
|
26
77
|
==== Changing Fonts
|
27
78
|
workbook.worksheets[0].sheet_data[0][0].change_font_bold(true) #sets A1 to bold
|
28
79
|
workbook.worksheets[0].change_row_font_italics(0,true) #makes first row italicized
|
29
|
-
workbook.worksheets[0].change_column_font_name(0,'
|
80
|
+
workbook.worksheets[0].change_column_font_name(0,'Courier') #makes first column have font Courier
|
30
81
|
|
31
82
|
==== Changing Fills
|
32
|
-
#
|
83
|
+
workbook.worksheets[0].sheet_data[0][0].change_fill('0ba53d') #sets A1 to have fill #0ba53d
|
84
|
+
workbook.worksheets[0].change_row_fill(0, '0ba53d') #sets first row to have fill #0ba53d
|
85
|
+
workbook.worksheets[0].change_column_fill(0, '0ba53d') #sets first column to have fill #0ba53d
|
86
|
+
|
87
|
+
==== Changing Borders
|
88
|
+
# Possible weights: hairline, thin, medium, thick
|
89
|
+
# Possible "directions": top, bottom, left, right, diagonal
|
90
|
+
workbook.worksheets[0].sheet_data[0][0].change_border_top('thin') #sets A1 to have a top, thin border
|
91
|
+
workbook.worksheets[0].change_row_border_left(0, 'hairline') #sets first row to have a left, hairline border
|
92
|
+
workbook.worksheets[0].change_column_border_diagonal(0, 'medium') #sets first column to have diagonal, medium border
|
93
|
+
|
94
|
+
==== Changing Alignment
|
95
|
+
===== Horizontal
|
96
|
+
center, distributed, justify, left, right
|
97
|
+
workbook.worksheets[0].sheet_data[0][0].change_horizontal_alignment('center') #sets A1 to be centered
|
98
|
+
workbook.worksheets[0].change_row_horizontal_alignment(0,'justify') #sets first row to be justified
|
99
|
+
workbook.worksheets[0].change_column_horizontal_alignment(0,'right'), #sets first column to be right-aligned
|
100
|
+
|
101
|
+
===== Vertical
|
102
|
+
bottom, center, distributed, top
|
103
|
+
workbook.worksheets[0].sheet_data[0][0].change_vertical_alignment('bottom') #sets A1 to be bottom aligned
|
104
|
+
workbook.worksheets[0].change_row_vertical_alignment(0,'distributed') #sets first row to be distributed vertically
|
105
|
+
workbook.worksheets[0].change_column_vertical_alignment(0,'top') #sets first column to be top aligned
|
106
|
+
|
107
|
+
==== Changing Row Height
|
108
|
+
workbook.worksheets[0].change_row_height(0,30) #sets first row to be of height 30
|
109
|
+
|
110
|
+
==== Changing Column Width
|
111
|
+
workbook.worksheets[0].change_column_width(0,30) #sets first column to be of width 30
|
33
112
|
|
34
113
|
==== Merging Cells
|
35
|
-
#
|
114
|
+
workbook.worksheets[0].merge_cells(0,0,1,1) #merges A1:B2
|
115
|
+
|
116
|
+
==== Insert Row
|
117
|
+
#insert row
|
118
|
+
|
119
|
+
==== Insert Column
|
120
|
+
#insert column
|
121
|
+
|
122
|
+
==== Delete Row
|
123
|
+
#delete row
|
124
|
+
|
125
|
+
==== Delete Column
|
126
|
+
#delete column
|
127
|
+
|
36
128
|
|
37
129
|
=== Writing
|
38
130
|
workbook.write("path/to/desired/Excel/file.xlsx")
|
39
131
|
|
40
132
|
|
133
|
+
=== Miscellaneous
|
134
|
+
Cell.convert_to_cell(0,0) == 'A1' #converts row and column index to Excel-style index
|
135
|
+
Parser.convert_to_index('A1') == [0,0] #converts Excel-style index to row and column index
|
136
|
+
|
41
137
|
== For more information
|
42
138
|
Take a look at the files in spec/lib/ for rspecs on most methods
|
43
139
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.1
|
@@ -126,7 +126,7 @@ module Writer
|
|
126
126
|
xml.c('r'=>Cell.convert_to_cell(i,j),
|
127
127
|
's'=>dat.style_index.to_s, 't'=>dat.datatype) {
|
128
128
|
unless dat.formula.nil?
|
129
|
-
if dat.formula_attributes.empty?
|
129
|
+
if dat.formula_attributes.nil? || dat.formula_attributes.empty?
|
130
130
|
xml.f dat.formula.to_s
|
131
131
|
else
|
132
132
|
xml.f('t'=>dat.formula_attributes['t'].to_s, 'ref'=>dat.formula_attributes['ref'], 'si'=>dat.formula_attributes['si']).nokogiri dat.formula
|
data/rubyXL.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyXL
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 1
|
10
|
+
version: 1.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Vivek Bhagwat
|