robust_excel_ole 1.31 → 1.32

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog +20 -1
  3. data/README.rdoc +118 -18
  4. data/___dummy_workbook.xls +0 -0
  5. data/benchmarking/creek_example.rb +1 -1
  6. data/benchmarking/roo_example.rb +1 -1
  7. data/benchmarking/simple_xlsx_reader_example.rb +1 -1
  8. data/benchmarking/spreadsheet_example.rb +1 -1
  9. data/docs/README_excel.rdoc +16 -24
  10. data/docs/README_listobjects.rdoc +176 -0
  11. data/docs/README_open.rdoc +12 -12
  12. data/docs/README_ranges.rdoc +72 -55
  13. data/docs/README_save_close.rdoc +3 -3
  14. data/docs/README_sheet.rdoc +18 -13
  15. data/examples/example_ruby_library.rb +2 -2
  16. data/examples/introductory_examples/example_range.rb +2 -2
  17. data/examples/modifying_sheets/example_access_sheets_and_cells.rb +6 -6
  18. data/examples/modifying_sheets/example_add_names.rb +1 -1
  19. data/examples/modifying_sheets/example_concating.rb +1 -1
  20. data/examples/modifying_sheets/example_copying.rb +2 -2
  21. data/examples/modifying_sheets/example_listobjects.rb +86 -0
  22. data/examples/modifying_sheets/example_naming.rb +1 -1
  23. data/examples/modifying_sheets/example_ranges.rb +1 -1
  24. data/examples/open_save_close/example_control_to_excel.rb +1 -1
  25. data/examples/open_save_close/example_if_obstructed_closeifsaved.rb +1 -1
  26. data/examples/open_save_close/example_if_obstructed_save.rb +3 -3
  27. data/examples/open_save_close/example_if_unsaved_accept.rb +1 -1
  28. data/examples/open_save_close/example_if_unsaved_forget.rb +3 -3
  29. data/examples/open_save_close/example_if_unsaved_forget_more.rb +4 -4
  30. data/examples/open_save_close/example_read_only.rb +1 -1
  31. data/examples/open_save_close/example_simple.rb +1 -1
  32. data/examples/open_save_close/example_unobtrusively.rb +3 -3
  33. data/lib/robust_excel_ole/address_tool.rb +54 -44
  34. data/lib/robust_excel_ole/base.rb +4 -6
  35. data/lib/robust_excel_ole/bookstore.rb +2 -16
  36. data/lib/robust_excel_ole/cell.rb +16 -21
  37. data/lib/robust_excel_ole/excel.rb +131 -186
  38. data/lib/robust_excel_ole/general.rb +82 -55
  39. data/lib/robust_excel_ole/list_object.rb +182 -109
  40. data/lib/robust_excel_ole/list_row.rb +65 -38
  41. data/lib/robust_excel_ole/range.rb +125 -93
  42. data/lib/robust_excel_ole/range_owners.rb +52 -66
  43. data/lib/robust_excel_ole/version.rb +1 -1
  44. data/lib/robust_excel_ole/workbook.rb +168 -176
  45. data/lib/robust_excel_ole/worksheet.rb +177 -141
  46. data/robust_excel_ole.gemspec +4 -3
  47. data/spec/bookstore_spec.rb +2 -3
  48. data/spec/cell_spec.rb +9 -9
  49. data/spec/data/more_data/workbook.xls +0 -0
  50. data/spec/excel_spec.rb +132 -85
  51. data/spec/general_spec.rb +47 -15
  52. data/spec/list_object_spec.rb +258 -145
  53. data/spec/list_row_spec.rb +218 -0
  54. data/spec/range_spec.rb +76 -29
  55. data/spec/spec_helper.rb +15 -1
  56. data/spec/workbook_spec.rb +75 -34
  57. data/spec/workbook_specs/workbook_all_spec.rb +2 -1
  58. data/spec/workbook_specs/workbook_misc_spec.rb +20 -13
  59. data/spec/workbook_specs/workbook_open_spec.rb +47 -45
  60. data/spec/workbook_specs/workbook_save_spec.rb +21 -22
  61. data/spec/workbook_specs/workbook_sheet_spec.rb +3 -3
  62. data/spec/workbook_specs/workbook_unobtr_spec.rb +303 -303
  63. data/spec/worksheet_spec.rb +522 -318
  64. metadata +37 -2
@@ -0,0 +1,218 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require_relative 'spec_helper'
4
+
5
+ $VERBOSE = nil
6
+
7
+ include RobustExcelOle
8
+ include General
9
+
10
+ describe ListRow do
11
+
12
+ before(:all) do
13
+ excel = Excel.new(:reuse => true)
14
+ open_books = excel == nil ? 0 : excel.Workbooks.Count
15
+ puts "*** open books *** : #{open_books}" if open_books > 0
16
+ Excel.kill_all
17
+ end
18
+
19
+ before do
20
+ @dir = create_tmpdir
21
+ @listobject_file = @dir + '/workbook_listobjects.xlsx'
22
+ @book = Workbook.open(@listobject_file, :visible => true)
23
+ @sheet = @book.sheet(3)
24
+ end
25
+
26
+ after do
27
+ @book.close(:if_unsaved => :forget)
28
+ Excel.kill_all
29
+ rm_tmp(@dir)
30
+ end
31
+
32
+ describe "==" do
33
+
34
+ before do
35
+ @table1 = @sheet.table(1)
36
+ end
37
+
38
+ it "should yield true" do
39
+ (@table1[1] == @table1[1]).should be true
40
+ end
41
+
42
+ it "should yield true" do
43
+ (@table1[1] == @table1[2]).should be false
44
+ end
45
+
46
+ end
47
+
48
+ describe "promote" do
49
+
50
+ it "should promote a win32ole tablerow" do
51
+ table1 = @sheet.table(1)
52
+ ole_tablerow = table1[2].ole_tablerow
53
+ ListRow.new(ole_tablerow).values.should == [2.0, "Fred", nil, 0.5416666666666666, 40]
54
+ end
55
+ end
56
+
57
+ describe "to_a, to_h" do
58
+
59
+ before do
60
+ @table1 = @sheet.table(1)
61
+ end
62
+
63
+ it "should yield values of a row" do
64
+ @table1[2].to_a.should == [2.0, "Fred", nil, 0.5416666666666666, 40]
65
+ @table1[2].values.should == [2.0, "Fred", nil, 0.5416666666666666, 40]
66
+ end
67
+
68
+ it "should yield key-value pairs of a row" do
69
+ @table1[2].to_h.should == {"Number" => 2.0, "Person" => "Fred", "Amount" => nil, "Time" => 0.5416666666666666, "Price" => 40}
70
+ @table1[2].keys_values.should == {"Number" => 2.0, "Person" => "Fred", "Amount" => nil, "Time" => 0.5416666666666666, "Price" => 40}
71
+ end
72
+
73
+ it "should yield values and key-value pairs of a row with umlauts" do
74
+ @table1[1].values = [1, "Sören", 20.0, 0.1, 40]
75
+ @table1[1].values.should == [1.0, "Sören", 20.0, 0.1, 40]
76
+ @table1[1].to_a.should == [1.0, "Sören", 20.0, 0.1, 40]
77
+ @table1[1].to_h.should == {"Number" => 1.0, "Person" => "Sören", "Amount" => 20.0, "Time" => 0.1, "Price" => 40}
78
+ end
79
+
80
+ end
81
+
82
+ describe "[], []=" do
83
+
84
+ before do
85
+ @table1 = @sheet.table(1)
86
+ @table_row1 = @table1[1]
87
+ end
88
+
89
+ it "should read value in column" do
90
+ @table_row1[2].should == "John"
91
+ @table_row1["Person"].should == "John"
92
+ end
93
+
94
+ it "should read value in column with umlauts" do
95
+ @table1.add_column("Straße", 1, ["Sören","ö","ü","ß","²","³","g","h","i","j","k","l","m"])
96
+ table_row2 = @table1[1]
97
+ @table_row1[1].should == "Sören"
98
+ @table_row1["Straße"].should == "Sören"
99
+ end
100
+
101
+ end
102
+
103
+ describe "getting and setting values" do
104
+
105
+ context "with various column names" do
106
+
107
+ context "with standard" do
108
+
109
+ before do
110
+ @table = Table.new(@sheet, "table_name", [22,1], 3, ["Person1","Win/Sales", "xiq-Xs", "OrderID", "YEAR", "length in m", "Amo%untSal___es"])
111
+ @table_row1 = @table[1]
112
+ end
113
+
114
+ it "should read and set values via alternative column names" do
115
+ @table_row1.person1.should be nil
116
+ @table_row1.person1 = "John"
117
+ @table_row1.person1.should == "John"
118
+ @sheet[23,1].should == "John"
119
+ @table_row1.Person1 = "Herbert"
120
+ @table_row1.Person1.should == "Herbert"
121
+ @sheet[23,1].should == "Herbert"
122
+ @table_row1.win_sales.should be nil
123
+ @table_row1.win_sales = 42
124
+ @table_row1.win_sales.should == 42
125
+ @sheet[23,2].should == 42
126
+ @table_row1.Win_Sales = 80
127
+ @table_row1.Win_Sales.should == 80
128
+ @sheet[23,2].should == 80
129
+ @table_row1.xiq_xs.should == nil
130
+ @table_row1.xiq_xs = 90
131
+ @table_row1.xiq_xs.should == 90
132
+ @sheet[23,3].should == 90
133
+ @table_row1.xiq_Xs = 100
134
+ @table_row1.xiq_Xs.should == 100
135
+ @sheet[23,3].should == 100
136
+ @table_row1.order_id.should == nil
137
+ @table_row1.order_id = 1
138
+ @table_row1.order_id.should == 1
139
+ @sheet[23,4].should == 1
140
+ @table_row1.OrderID = 2
141
+ @table_row1.OrderID.should == 2
142
+ @sheet[23,4].should == 2
143
+ @table_row1.year = 1984
144
+ @table_row1.year.should == 1984
145
+ @sheet[23,5].should == 1984
146
+ @table_row1.YEAR = 2020
147
+ @table_row1.YEAR.should == 2020
148
+ @sheet[23,5].should == 2020
149
+ @table_row1.length_in_m.should == nil
150
+ @table_row1.length_in_m = 20
151
+ @table_row1.length_in_m.should == 20
152
+ @sheet[23,6].should == 20
153
+ @table_row1.length_in_m = 40
154
+ @table_row1.length_in_m.should == 40
155
+ @sheet[23,6].should == 40
156
+ @table_row1.amo_unt_sal___es.should == nil
157
+ @table_row1.amo_unt_sal___es = 80
158
+ @table_row1.amo_unt_sal___es.should == 80
159
+ @sheet[23,7].should == 80
160
+ end
161
+
162
+ end
163
+
164
+ context "with umlauts" do
165
+
166
+ before do
167
+ @table = Table.new(@sheet, "table_name", [1,1], 3, ["Verkäufer", "Straße", "area in m²"])
168
+ @table_row1 = @table[1]
169
+ end
170
+
171
+ it "should read and set values via alternative column names" do
172
+ @table_row1.verkaeufer.should be nil
173
+ @table_row1.verkaeufer = "John"
174
+ @table_row1.verkaeufer.should == "John"
175
+ @sheet[2,1].should == "John"
176
+ @table_row1.Verkaeufer = "Herbert"
177
+ @table_row1.Verkaeufer.should == "Herbert"
178
+ @sheet[2,1].should == "Herbert"
179
+ @table_row1.strasse.should be nil
180
+ @table_row1.strasse = 42
181
+ @table_row1.strasse.should == 42
182
+ @sheet[2,2].should == 42
183
+ @table_row1.Strasse = 80
184
+ @table_row1.Strasse.should == 80
185
+ @sheet[2,2].should == 80
186
+ @table_row1.area_in_m2.should be nil
187
+ @table_row1.area_in_m2 = 10
188
+ @table_row1.area_in_m2.should == 10
189
+ @sheet[2,3].should == 10
190
+ end
191
+
192
+ end
193
+
194
+ end
195
+
196
+ context "with type-lifted ole list object" do
197
+
198
+ before do
199
+ ole_table = @sheet.ListObjects.Item(1)
200
+ @table = Table.new(ole_table)
201
+ @table_row1 = @table[1]
202
+ end
203
+
204
+ it "should set and read values" do
205
+ @table_row1.number.should == 3
206
+ @table_row1.number = 1
207
+ @table_row1.number.should == 1
208
+ @sheet[4,4].should == 1
209
+ @table_row1.person.should == "John"
210
+ @table_row1.person = "Herbert"
211
+ @table_row1.person.should == "Herbert"
212
+ @sheet[4,5].should == "Herbert"
213
+ end
214
+ end
215
+
216
+ end
217
+
218
+ end
data/spec/range_spec.rb CHANGED
@@ -7,6 +7,7 @@ include General
7
7
  describe RobustExcelOle::Range do
8
8
 
9
9
  before(:all) do
10
+
10
11
  excel = Excel.new(:reuse => true)
11
12
  open_books = excel == nil ? 0 : excel.Workbooks.Count
12
13
  puts "*** open books *** : #{open_books}" if open_books > 0
@@ -19,6 +20,7 @@ describe RobustExcelOle::Range do
19
20
  @sheet = @book.sheet(2)
20
21
  @range = RobustExcelOle::Range.new(@sheet.ole_worksheet.UsedRange.Rows(1))
21
22
  @range2 = @sheet.range([1..2,1..3])
23
+ @sheet1 = @book.sheet(1)
22
24
  end
23
25
 
24
26
  after do
@@ -53,6 +55,24 @@ describe RobustExcelOle::Range do
53
55
  end
54
56
  end
55
57
 
58
+ it "should access each cell" do
59
+ cells = []
60
+ @range2.each do |cell|
61
+ cells << cell
62
+ end
63
+ cells.should == [@range2[0], @range2[1], @range2[2], @range2[3], @range2[4], @range2[5]]
64
+ end
65
+
66
+ it "should map" do
67
+ @range2.map{|c| c}.should == [@range2[0], @range2[1], @range2[2], @range2[3], @range2[4], @range2[5]]
68
+ end
69
+
70
+ it "should concatenate" do
71
+ values = []
72
+ @range2.each.with_index{|c,i| values << [c.v, i]}
73
+ values.should == [["simple", 0], ["file", 1], ["sheet2", 2], [nil, 3], [nil, 4], [nil, 5]]
74
+ end
75
+
56
76
  it "should work with [] doing cashing synchonized, from #[] to #each" do
57
77
  i = 0
58
78
  @range2.each do |cell|
@@ -75,6 +95,33 @@ describe RobustExcelOle::Range do
75
95
 
76
96
  end
77
97
 
98
+ describe "#value" do
99
+
100
+ it "should yield the right values" do
101
+ @sheet1.range([1..2,1..3]).value.should == [["foo", "workbook", "sheet1"], ["foo", nil, "foobaaa"]]
102
+ @sheet1.range([1,1..3]).value.should == [["foo", "workbook", "sheet1"]]
103
+ @sheet1.range([1,1..5]).value.should == [["foo", "workbook", "sheet1"]]
104
+ @sheet1.range([1..5,1..5]).value.should == [["foo", "workbook", "sheet1"], ["foo", nil, "foobaaa"],["matz", "is", "nice"]]
105
+ @sheet1.range([1..2,1]).value.should == [["foo"], ["foo"]]
106
+ @sheet1.range([1]).value.should == [["foo", "workbook", "sheet1"]]
107
+ @sheet1.range([1..2]).value.should == [["foo", "workbook", "sheet1"], ["foo", nil, "foobaaa"]]
108
+ @sheet1.range([1..60]).value.should == [["foo", "workbook", "sheet1"], ["foo", nil, "foobaaa"], ["matz", "is", "nice"]]
109
+ @sheet1.range([nil,2..3]).value.should == [["workbook", "sheet1"], [nil, "foobaaa"], ["is", "nice"]]
110
+ @sheet1.range([1,2]).value.should == "workbook"
111
+ end
112
+
113
+ end
114
+
115
+ describe "#value=" do
116
+
117
+ it "should set value" do
118
+ @sheet1.range([1..2,1..3]).value.should == [["foo", "workbook", "sheet1"], ["foo", nil, "foobaaa"]]
119
+ @sheet1.range([1..2,1..3]).value = [["foo", nil, "foobaaa"], ["foo", "workbook", "sheet1"]]
120
+ @sheet1.range([1..2,1..3]).value.should == [["foo", nil, "foobaaa"], ["foo", "workbook", "sheet1"]]
121
+ end
122
+
123
+ end
124
+
78
125
  describe "#values" do
79
126
  context "with (0..2)" do
80
127
  it { @range.values(0..2).should eq ['simple', 'file', 'sheet2'] }
@@ -162,7 +209,7 @@ describe RobustExcelOle::Range do
162
209
  @range[2].v.should eq 'sheet2'
163
210
  end
164
211
  end
165
- end
212
+ end
166
213
 
167
214
  describe "#value" do
168
215
 
@@ -177,16 +224,16 @@ describe RobustExcelOle::Range do
177
224
  end
178
225
 
179
226
  it "should return value" do
180
- @sheet[1,1].v.should == 'simple'
227
+ @sheet[1,1].should == 'simple'
181
228
  @sheet.range(1..2,3..4).v.should == [["sheet2", nil], [nil, nil]]
182
229
  end
183
230
 
184
231
  it "should set value of a cell and return its value" do
185
- @sheet1[2,3].v.should == "foobaaa"
186
- @sheet1[2,3].Value.should == "foobaaa"
187
- @sheet1[2,3].v = "bar"
188
- @sheet1[2,3].v.should == "bar"
189
- @sheet1[2,3].Value.should == "bar"
232
+ @sheet1[2,3].should == "foobaaa"
233
+ @sheet1[2,3].should == "foobaaa"
234
+ @sheet1[2,3] = "bar"
235
+ @sheet1[2,3].should == "bar"
236
+ @sheet1.range([2,3]).Value.should == "bar"
190
237
  end
191
238
 
192
239
  it "should set value and return value of a rectangular range" do
@@ -209,7 +256,7 @@ describe RobustExcelOle::Range do
209
256
  @book1 = Workbook.open(@dir + '/workbook.xls')
210
257
  @sheet1 = @book1.sheet(1)
211
258
  @range1 = @sheet1.range([1..2,1..3])
212
- @sheet1[1,1].Interior.ColorIndex = 4
259
+ @sheet1.range([1,1]).Interior.ColorIndex = 4
213
260
  @book2 = Workbook.open(@dir + '/different_workbook.xls')
214
261
  @sheet2 = @book2.sheet(2)
215
262
  @book3 = Workbook.open(@dir + '/another_workbook.xls', :force => {:excel => :new})
@@ -225,61 +272,61 @@ describe RobustExcelOle::Range do
225
272
  it "should copy range" do
226
273
  @range1.copy([4,2])
227
274
  @sheet1.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
228
- @sheet1[4,2].Interior.ColorIndex.should == 4
275
+ @sheet1.range([4,2]).Interior.ColorIndex.should == 4
229
276
  end
230
277
 
231
278
  it "should copy range when giving an address" do
232
279
  @range1.copy([4..5,2..4])
233
280
  @sheet1.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
234
- @sheet1[4,2].Interior.ColorIndex.should == 4
281
+ @sheet1.range([4,2]).Interior.ColorIndex.should == 4
235
282
  end
236
283
 
237
284
  it "should copy range to another worksheet of another workbook" do
238
285
  @range1.copy([4,2], @sheet2)
239
286
  @sheet2.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
240
- @sheet2[4,2].Interior.ColorIndex.should == 4
287
+ @sheet2.range([4,2]).Interior.ColorIndex.should == 4
241
288
  end
242
289
 
243
290
  it "should copy range to another worksheet of another workbook of another Excel instance" do
244
291
  @range1.copy([4,2], @sheet3)
245
292
  @sheet3.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
246
- @sheet3[4,2].Interior.ColorIndex.should == 4
293
+ @sheet3.range([4,2]).Interior.ColorIndex.should == 4
247
294
  end
248
295
 
249
296
  it "should copy values only" do
250
297
  @range1.copy([4,2], @sheet1, :values_only => true)
251
298
  @sheet1.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
252
- @sheet1[4,2].Interior.ColorIndex.should == -4142
299
+ @sheet1.range([4,2]).Interior.ColorIndex.should == -4142
253
300
  end
254
301
 
255
302
  it "should copy values only to another worksheet of another Excel instance" do
256
303
  @range1.copy([4,2], @sheet3, :values_only => true)
257
304
  @sheet3.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
258
- @sheet3[4,2].Interior.ColorIndex.should == -4142
305
+ @sheet3.range([4,2]).Interior.ColorIndex.should == -4142
259
306
  end
260
307
 
261
308
  it "should copy and transpose with values only" do
262
309
  @range1.copy([4,2], @sheet1, :values_only => true, :transpose => true)
263
310
  @sheet1.range([4..6,2..3]).v.should == [["foo", "foo"],["workbook", nil],["sheet1","foobaaa"]]
264
- @sheet1[4,2].Interior.ColorIndex.should == -4142
311
+ @sheet1.range([4,2]).Interior.ColorIndex.should == -4142
265
312
  end
266
313
 
267
314
  it "should copy and transpose with values only into another Excel instance" do
268
315
  @range1.copy([4,2], @sheet3, :values_only => true, :transpose => true)
269
316
  @sheet3.range([4..6,2..3]).v.should == [["foo", "foo"],["workbook", nil],["sheet1","foobaaa"]]
270
- @sheet3[4,2].Interior.ColorIndex.should == -4142
317
+ @sheet3.range([4,2]).Interior.ColorIndex.should == -4142
271
318
  end
272
319
 
273
320
  it "should copy and transpose" do
274
321
  @range1.copy([4,2], @sheet1, :transpose => true)
275
322
  @sheet1.range([4..6,2..3]).v.should == [["foo", "foo"],["workbook", nil],["sheet1","foobaaa"]]
276
- @sheet1[4,2].Interior.ColorIndex.should == 4
323
+ @sheet1.range([4,2]).Interior.ColorIndex.should == 4
277
324
  end
278
325
 
279
326
  it "should copy and transpose into another Excel instance" do
280
327
  @range1.copy([4,2], @sheet3, :transpose => true)
281
328
  @sheet3.range([4..6,2..3]).v.should == [["foo", "foo"],["workbook", nil],["sheet1","foobaaa"]]
282
- @sheet3[4,2].Interior.ColorIndex.should == 4
329
+ @sheet3.range([4,2]).Interior.ColorIndex.should == 4
283
330
  end
284
331
  end
285
332
 
@@ -289,7 +336,7 @@ describe RobustExcelOle::Range do
289
336
  @book1 = Workbook.open(@dir + '/workbook.xls')
290
337
  @sheet1 = @book1.sheet(1)
291
338
  @range1 = @sheet1.range([1..2,1..3])
292
- @sheet1[1,1].Interior.ColorIndex = 4
339
+ @sheet1.range([1,1]).Interior.ColorIndex = 4
293
340
  @book2 = Workbook.open(@dir + '/different_workbook.xls')
294
341
  @sheet2 = @book2.sheet(2)
295
342
  @book3 = Workbook.open(@dir + '/another_workbook.xls', :force => {:excel => :new})
@@ -305,61 +352,61 @@ describe RobustExcelOle::Range do
305
352
  it "should copy range" do
306
353
  @range1.copy(4,2)
307
354
  @sheet1.range(4..5,2..4).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
308
- @sheet1[4,2].Interior.ColorIndex.should == 4
355
+ @sheet1.range([4,2]).Interior.ColorIndex.should == 4
309
356
  end
310
357
 
311
358
  it "should copy range when giving an address" do
312
359
  @range1.copy(4..5,2..4)
313
360
  @sheet1.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
314
- @sheet1[4,2].Interior.ColorIndex.should == 4
361
+ @sheet1.range([4,2]).Interior.ColorIndex.should == 4
315
362
  end
316
363
 
317
364
  it "should copy range to another worksheet of another workbook" do
318
365
  @range1.copy(4,2, @sheet2)
319
366
  @sheet2.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
320
- @sheet2[4,2].Interior.ColorIndex.should == 4
367
+ @sheet2.range([4,2]).Interior.ColorIndex.should == 4
321
368
  end
322
369
 
323
370
  it "should copy range to another worksheet of another workbook of another Excel instance" do
324
371
  @range1.copy(4,2, @sheet3)
325
372
  @sheet3.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
326
- @sheet3[4,2].Interior.ColorIndex.should == 4
373
+ @sheet3.range([4,2]).Interior.ColorIndex.should == 4
327
374
  end
328
375
 
329
376
  it "should copy values only" do
330
377
  @range1.copy(4,2, @sheet1, :values_only => true)
331
378
  @sheet1.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
332
- @sheet1[4,2].Interior.ColorIndex.should == -4142
379
+ @sheet1.range([4,2]).Interior.ColorIndex.should == -4142
333
380
  end
334
381
 
335
382
  it "should copy values only to another worksheet of another Excel instance" do
336
383
  @range1.copy(4,2, @sheet3, :values_only => true)
337
384
  @sheet3.range([4..5,2..4]).v.should == [["foo", "workbook", "sheet1"],["foo", nil, "foobaaa"]]
338
- @sheet3[4,2].Interior.ColorIndex.should == -4142
385
+ @sheet3.range([4,2]).Interior.ColorIndex.should == -4142
339
386
  end
340
387
 
341
388
  it "should copy and transpose with values only" do
342
389
  @range1.copy(4,2, @sheet1, :values_only => true, :transpose => true)
343
390
  @sheet1.range([4..6,2..3]).v.should == [["foo", "foo"],["workbook", nil],["sheet1","foobaaa"]]
344
- @sheet1[4,2].Interior.ColorIndex.should == -4142
391
+ @sheet1.range([4,2]).Interior.ColorIndex.should == -4142
345
392
  end
346
393
 
347
394
  it "should copy and transpose with values only into another Excel instance" do
348
395
  @range1.copy(4,2, @sheet3, :values_only => true, :transpose => true)
349
396
  @sheet3.range([4..6,2..3]).v.should == [["foo", "foo"],["workbook", nil],["sheet1","foobaaa"]]
350
- @sheet3[4,2].Interior.ColorIndex.should == -4142
397
+ @sheet3.range([4,2]).Interior.ColorIndex.should == -4142
351
398
  end
352
399
 
353
400
  it "should copy and transpose" do
354
401
  @range1.copy(4,2, @sheet1, :transpose => true)
355
402
  @sheet1.range([4..6,2..3]).v.should == [["foo", "foo"],["workbook", nil],["sheet1","foobaaa"]]
356
- @sheet1[4,2].Interior.ColorIndex.should == 4
403
+ @sheet1.range([4,2]).Interior.ColorIndex.should == 4
357
404
  end
358
405
 
359
406
  it "should copy and transpose into another Excel instance" do
360
407
  @range1.copy(4,2, @sheet3, :transpose => true)
361
408
  @sheet3.range([4..6,2..3]).v.should == [["foo", "foo"],["workbook", nil],["sheet1","foobaaa"]]
362
- @sheet3[4,2].Interior.ColorIndex.should == 4
409
+ @sheet3.range([4,2]).Interior.ColorIndex.should == 4
363
410
  end
364
411
 
365
412
  end