rubyXL 1.0.7 → 1.0.8

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.
@@ -9,18 +9,35 @@
9
9
  === Parsing
10
10
  workbook = RubyXL::Parser.parse("path/to/Excel/file.xlsx")
11
11
 
12
+
12
13
  === Creating
13
14
  workbook = RubyXL::Workbook.new
15
+
16
+
17
+ === Modifying
18
+
19
+ ==== Adding Worksheets
20
+ workbook.worksheets << Worksheet.new('Sheet2')
21
+
22
+ ==== Adding Cells
14
23
  workbook.worksheets[0].add_cell(0,0,'A1') #sets A1 to string "A1"
15
24
  workbook.worksheets[0].add_cell(0,1,'','A1') #sets A2 to value of A1
16
25
 
17
- === Modifying
26
+ ==== Changing Fonts
18
27
  workbook.worksheets[0].sheet_data[0][0].change_font_bold(true) #sets A1 to bold
19
28
  workbook.worksheets[0].change_row_font_italics(0,true) #makes first row italicized
29
+ workbook.worksheets[0].change_column_font_name(0,'Verdana')
30
+
31
+ ==== Changing Fills
32
+ #code here
33
+
34
+ ==== Merging Cells
35
+ #code here
20
36
 
21
37
  === Writing
22
38
  workbook.write("path/to/desired/Excel/file.xlsx")
23
39
 
40
+
24
41
  == For more information
25
42
  Take a look at the files in spec/lib/ for rspecs on most methods
26
43
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.7
1
+ 1.0.8
@@ -216,23 +216,23 @@ module RubyXL
216
216
  style_index = nil
217
217
 
218
218
  data_type = value.attribute('t').to_s
219
-
220
- if data_type == 's' #shared string
219
+
220
+ if (value.css('v').to_s == "") || (value.css('v').children.to_s == "") #no data
221
+ cell_data = nil
222
+ elsif data_type == 's' #shared string
221
223
  str_index = Integer(value.css('v').children.to_s)
222
224
  cell_data = shared_strings[str_index].to_s
223
225
  elsif data_type=='str' #raw string
224
226
  cell_data = value.css('v').children.to_s
225
227
  elsif data_type=='e' #error
226
228
  cell_data = value.css('v').children.to_s
227
- elsif value.css('v').to_s != "" #is number
229
+ else# (value.css('v').to_s != "") && (value.css('v').children.to_s != "") #is number
228
230
  data_type = ''
229
231
  if(value.css('v').children.to_s =~ /\./) #is float
230
232
  cell_data = Float(value.css('v').children.to_s)
231
- else
233
+ else
232
234
  cell_data = Integer(value.css('v').children.to_s)
233
235
  end
234
- else #no data
235
- cell_data = nil
236
236
  end
237
237
  cell_formula = nil
238
238
  if(value.css('f').to_s != "")
@@ -240,7 +240,7 @@ module RubyXL
240
240
  end
241
241
 
242
242
  unless @data_only
243
- style_index = Integer(value['s']) #nil goes to 0 (default)
243
+ style_index = value['s'].to_i #nil goes to 0 (default)
244
244
  else
245
245
  style_index = 0
246
246
  end
@@ -370,7 +370,7 @@ module RubyXL
370
370
  wb.appversion = files['app'].css('AppVersion').children.to_s
371
371
  end
372
372
 
373
- wb.shared_strings_XML = files['sharedString']
373
+ wb.shared_strings_XML = files['sharedString'].to_s
374
374
 
375
375
  wb.worksheets = Array.new(@num_sheets) #array of Worksheet objs
376
376
  wb
@@ -78,17 +78,16 @@ module Writer
78
78
  style_id_corrector['0']=0
79
79
  1.upto(@workbook.cell_xfs[:xf].size) do |i|
80
80
  style_id_corrector[i.to_s]= i-offset
81
- #offset here
82
- (i+1).upto(@workbook.cell_xfs[:xf].size) do |j|
83
- unless i == j
84
- if hash_equal(@workbook.cell_xfs[:xf][i],@workbook.cell_xfs[:xf][j])
85
- # puts "found match #{i}, #{j}"
86
- @workbook.cell_xfs[:xf].delete_at(i)
87
- style_id_corrector.delete(i.to_s)
88
- offset += 1
89
- end
90
- end
91
- end
81
+ #style correction commented out until bug is fixed
82
+ # (i+1).upto(@workbook.cell_xfs[:xf].size) do |j|
83
+ # unless i == j
84
+ # if hash_equal(@workbook.cell_xfs[:xf][i],@workbook.cell_xfs[:xf][j])
85
+ # @workbook.cell_xfs[:xf].delete_at(i)
86
+ # style_id_corrector.delete(i.to_s)
87
+ # offset += 1
88
+ # end
89
+ # end
90
+ # end
92
91
  end
93
92
  @workbook.style_corrector = style_id_corrector
94
93
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rubyXL}
8
- s.version = "1.0.7"
8
+ s.version = "1.0.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Vivek Bhagwat"]
12
- s.date = %q{2011-08-02}
12
+ s.date = %q{2011-08-03}
13
13
  s.description = %q{rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents}
14
14
  s.email = %q{bhagwat.vivek@gmail.com}
15
15
  s.extra_rdoc_files = [
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: 25
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 7
10
- version: 1.0.7
9
+ - 8
10
+ version: 1.0.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Vivek Bhagwat
@@ -15,11 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-02 00:00:00 -04:00
18
+ date: 2011-08-03 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- type: :development
22
+ prerelease: false
23
23
  version_requirements: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
@@ -29,11 +29,11 @@ dependencies:
29
29
  segments:
30
30
  - 0
31
31
  version: "0"
32
- prerelease: false
33
32
  name: shoulda
34
33
  requirement: *id001
35
- - !ruby/object:Gem::Dependency
36
34
  type: :development
35
+ - !ruby/object:Gem::Dependency
36
+ prerelease: false
37
37
  version_requirements: &id002 !ruby/object:Gem::Requirement
38
38
  none: false
39
39
  requirements:
@@ -45,11 +45,11 @@ dependencies:
45
45
  - 0
46
46
  - 0
47
47
  version: 1.0.0
48
- prerelease: false
49
48
  name: bundler
50
49
  requirement: *id002
51
- - !ruby/object:Gem::Dependency
52
50
  type: :development
51
+ - !ruby/object:Gem::Dependency
52
+ prerelease: false
53
53
  version_requirements: &id003 !ruby/object:Gem::Requirement
54
54
  none: false
55
55
  requirements:
@@ -61,11 +61,11 @@ dependencies:
61
61
  - 6
62
62
  - 0
63
63
  version: 1.6.0
64
- prerelease: false
65
64
  name: jeweler
66
65
  requirement: *id003
67
- - !ruby/object:Gem::Dependency
68
66
  type: :development
67
+ - !ruby/object:Gem::Dependency
68
+ prerelease: false
69
69
  version_requirements: &id004 !ruby/object:Gem::Requirement
70
70
  none: false
71
71
  requirements:
@@ -75,11 +75,11 @@ dependencies:
75
75
  segments:
76
76
  - 0
77
77
  version: "0"
78
- prerelease: false
79
78
  name: rcov
80
79
  requirement: *id004
81
- - !ruby/object:Gem::Dependency
82
80
  type: :development
81
+ - !ruby/object:Gem::Dependency
82
+ prerelease: false
83
83
  version_requirements: &id005 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
@@ -91,11 +91,11 @@ dependencies:
91
91
  - 4
92
92
  - 4
93
93
  version: 1.4.4
94
- prerelease: false
95
94
  name: nokogiri
96
95
  requirement: *id005
97
- - !ruby/object:Gem::Dependency
98
96
  type: :development
97
+ - !ruby/object:Gem::Dependency
98
+ prerelease: false
99
99
  version_requirements: &id006 !ruby/object:Gem::Requirement
100
100
  none: false
101
101
  requirements:
@@ -107,11 +107,11 @@ dependencies:
107
107
  - 9
108
108
  - 4
109
109
  version: 0.9.4
110
- prerelease: false
111
110
  name: rubyzip
112
111
  requirement: *id006
113
- - !ruby/object:Gem::Dependency
114
112
  type: :development
113
+ - !ruby/object:Gem::Dependency
114
+ prerelease: false
115
115
  version_requirements: &id007 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
@@ -123,9 +123,9 @@ dependencies:
123
123
  - 3
124
124
  - 4
125
125
  version: 1.3.4
126
- prerelease: false
127
126
  name: rspec
128
127
  requirement: *id007
128
+ type: :development
129
129
  description: rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents
130
130
  email: bhagwat.vivek@gmail.com
131
131
  executables: []