rubyXL 1.0.10 → 1.0.11
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/cell.rb +3 -2
- data/lib/parser.rb +8 -3
- data/lib/writer/worksheet_writer.rb +6 -2
- data/rubyXL.gemspec +1 -1
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.11
|
data/lib/cell.rb
CHANGED
@@ -2,9 +2,9 @@ module RubyXL
|
|
2
2
|
class Cell < PrivateClass
|
3
3
|
|
4
4
|
attr_accessor :row, :column, :datatype, :style_index, :value, :formula, :worksheet
|
5
|
-
attr_reader :workbook
|
5
|
+
attr_reader :workbook,:formula_attributes
|
6
6
|
|
7
|
-
def initialize(worksheet,row,column,value=nil,formula=nil,datatype='s',style_index=0)
|
7
|
+
def initialize(worksheet,row,column,value=nil,formula=nil,datatype='s',style_index=0, fmla_attr={})
|
8
8
|
@worksheet = worksheet
|
9
9
|
|
10
10
|
@workbook = worksheet.workbook
|
@@ -14,6 +14,7 @@ module RubyXL
|
|
14
14
|
@value = value
|
15
15
|
@formula=formula
|
16
16
|
@style_index = style_index
|
17
|
+
@formula_attributes = fmla_attr
|
17
18
|
end
|
18
19
|
|
19
20
|
# changes fill color of cell
|
data/lib/parser.rb
CHANGED
@@ -244,8 +244,13 @@ module RubyXL
|
|
244
244
|
end
|
245
245
|
end
|
246
246
|
cell_formula = nil
|
247
|
-
|
248
|
-
|
247
|
+
fmla_css = value.css('f')
|
248
|
+
if(fmla_css.to_s != "")
|
249
|
+
cell_formula = fmla_css.children.to_s
|
250
|
+
cell_formula_attr = {}
|
251
|
+
cell_formula_attr['t'] = fmla_css.attribute('t').to_s if fmla_css.attribute('t')
|
252
|
+
cell_formula_attr['ref'] = fmla_css.attribute('ref').to_s if fmla_css.attribute('ref')
|
253
|
+
cell_formula_attr['si'] = fmla_css.attribute('si').to_s if fmla_css.attribute('si')
|
249
254
|
end
|
250
255
|
|
251
256
|
unless @data_only
|
@@ -256,7 +261,7 @@ module RubyXL
|
|
256
261
|
|
257
262
|
wb.worksheets[i].sheet_data[cell_index[0]][cell_index[1]] =
|
258
263
|
Cell.new(wb.worksheets[i],cell_index[0],cell_index[1],cell_data,cell_formula,
|
259
|
-
data_type,style_index)
|
264
|
+
data_type,style_index,cell_formula_attr)
|
260
265
|
cell = wb.worksheets[i].sheet_data[cell_index[0]][cell_index[1]]
|
261
266
|
end
|
262
267
|
end
|
@@ -121,9 +121,13 @@ module Writer
|
|
121
121
|
#TODO do xml.c for all cases, inside specific.
|
122
122
|
# if dat.formula.nil?
|
123
123
|
xml.c('r'=>Cell.convert_to_cell(i,j),
|
124
|
-
's'=>@workbook.style_corrector[dat.style_index.to_s].to_s, 't'=>dat.datatype) {
|
124
|
+
's'=>@workbook.style_corrector[dat.style_index.to_s].to_s, 't'=>dat.datatype) {
|
125
125
|
unless dat.formula.nil?
|
126
|
-
|
126
|
+
if dat.formula_attributes.empty?
|
127
|
+
xml.f dat.formula.to_s
|
128
|
+
else
|
129
|
+
xml.f('t'=>dat.formula_attributes['t'].to_s, 'ref'=>dat.formula_attributes['ref'], 'si'=>dat.formula_attributes['si']).nokogiri dat.formula
|
130
|
+
end
|
127
131
|
end
|
128
132
|
if(dat.datatype == 's')
|
129
133
|
unless dat.value.nil? #empty cell, but has a style
|
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: 1
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 11
|
10
|
+
version: 1.0.11
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Vivek Bhagwat
|