writeexcel 0.5.0 → 0.6.0
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/.gitattributes +1 -1
- data/.gitignore +24 -24
- data/README.rdoc +34 -55
- data/VERSION +1 -1
- data/charts/chartex.rb +316 -316
- data/charts/demo1.rb +46 -46
- data/charts/demo2.rb +65 -65
- data/charts/demo3.rb +117 -117
- data/charts/demo4.rb +119 -119
- data/charts/demo5.rb +48 -48
- data/examples/a_simple.rb +43 -43
- data/examples/autofilter.rb +265 -265
- data/examples/bigfile.rb +30 -30
- data/examples/chart_area.rb +121 -121
- data/examples/chart_bar.rb +120 -120
- data/examples/chart_column.rb +120 -120
- data/examples/chart_line.rb +120 -120
- data/examples/chart_pie.rb +108 -108
- data/examples/chart_scatter.rb +121 -121
- data/examples/chart_stock.rb +148 -148
- data/examples/chess.rb +142 -142
- data/examples/colors.rb +129 -129
- data/examples/comments1.rb +27 -27
- data/examples/comments2.rb +352 -352
- data/examples/copyformat.rb +52 -52
- data/examples/data_validate.rb +279 -279
- data/examples/date_time.rb +87 -87
- data/examples/defined_name.rb +32 -32
- data/examples/demo.rb +124 -124
- data/examples/diag_border.rb +36 -36
- data/examples/formats.rb +490 -490
- data/examples/formula_result.rb +30 -30
- data/examples/header.rb +137 -137
- data/examples/hide_sheet.rb +29 -29
- data/examples/hyperlink.rb +43 -43
- data/examples/images.rb +63 -63
- data/examples/indent.rb +31 -31
- data/examples/merge1.rb +40 -40
- data/examples/merge2.rb +45 -45
- data/examples/merge3.rb +66 -66
- data/examples/merge4.rb +83 -83
- data/examples/merge5.rb +80 -80
- data/examples/merge6.rb +67 -67
- data/examples/outline.rb +255 -255
- data/examples/outline_collapsed.rb +209 -209
- data/examples/panes.rb +113 -113
- data/examples/properties.rb +34 -34
- data/examples/properties_jp.rb +33 -33
- data/examples/protection.rb +47 -47
- data/examples/regions.rb +53 -53
- data/examples/repeat.rb +43 -43
- data/examples/right_to_left.rb +27 -27
- data/examples/row_wrap.rb +53 -53
- data/examples/stats.rb +74 -74
- data/examples/stocks.rb +81 -81
- data/examples/tab_colors.rb +31 -31
- data/examples/utf8.rb +15 -15
- data/examples/write_arrays.rb +83 -83
- data/lib/writeexcel/biffwriter.rb +232 -232
- data/lib/writeexcel/caller_info.rb +12 -12
- data/lib/writeexcel/chart.rb +2190 -2177
- data/lib/writeexcel/charts/area.rb +154 -154
- data/lib/writeexcel/charts/bar.rb +177 -177
- data/lib/writeexcel/charts/column.rb +156 -156
- data/lib/writeexcel/charts/external.rb +66 -66
- data/lib/writeexcel/charts/line.rb +154 -154
- data/lib/writeexcel/charts/pie.rb +169 -169
- data/lib/writeexcel/charts/scatter.rb +192 -192
- data/lib/writeexcel/charts/stock.rb +213 -213
- data/lib/writeexcel/colors.rb +64 -64
- data/lib/writeexcel/compatibility.rb +0 -255
- data/lib/writeexcel/debug_info.rb +37 -33
- data/lib/writeexcel/excelformulaparser.rb +587 -587
- data/lib/writeexcel/format.rb +13 -4
- data/lib/writeexcel/formula.rb +26 -9
- data/lib/writeexcel/helper.rb +68 -64
- data/lib/writeexcel/olewriter.rb +311 -311
- data/lib/writeexcel/properties.rb +242 -240
- data/lib/writeexcel/storage_lite.rb +984 -978
- data/lib/writeexcel/workbook.rb +3210 -3192
- data/lib/writeexcel/worksheet.rb +143 -51
- data/lib/writeexcel/write_file.rb +44 -40
- data/lib/writeexcel.rb +1159 -1159
- data/test/helper.rb +31 -28
- data/test/perl_output/README +31 -31
- data/test/test_00_IEEE_double.rb +13 -13
- data/test/test_01_add_worksheet.rb +10 -10
- data/test/test_02_merge_formats.rb +53 -53
- data/test/test_04_dimensions.rb +392 -392
- data/test/test_05_rows.rb +179 -179
- data/test/test_06_extsst.rb +77 -77
- data/test/test_11_date_time.rb +479 -479
- data/test/test_12_date_only.rb +501 -501
- data/test/test_13_date_seconds.rb +481 -481
- data/test/test_21_escher.rb +637 -637
- data/test/test_22_mso_drawing_group.rb +745 -745
- data/test/test_23_note.rb +73 -73
- data/test/test_24_txo.rb +75 -75
- data/test/test_25_position_object.rb +84 -84
- data/test/test_26_autofilter.rb +314 -314
- data/test/test_27_autofilter.rb +131 -131
- data/test/test_28_autofilter.rb +161 -161
- data/test/test_29_process_jpg.rb +683 -683
- data/test/test_30_validation_dval.rb +77 -77
- data/test/test_31_validation_dv_strings.rb +126 -126
- data/test/test_32_validation_dv_formula.rb +206 -206
- data/test/test_40_property_types.rb +188 -188
- data/test/test_41_properties.rb +235 -235
- data/test/test_42_set_properties.rb +437 -437
- data/test/test_50_name_stored.rb +299 -299
- data/test/test_51_name_print_area.rb +357 -357
- data/test/test_52_name_print_titles.rb +454 -454
- data/test/test_53_autofilter.rb +203 -203
- data/test/test_60_chart_generic.rb +578 -578
- data/test/test_61_chart_subclasses.rb +95 -95
- data/test/test_62_chart_formats.rb +272 -272
- data/test/test_63_chart_area_formats.rb +649 -649
- data/test/test_biff.rb +75 -75
- data/test/test_compatibility.rb +12 -627
- data/test/test_example_match.rb +3144 -3144
- data/test/test_formula.rb +61 -61
- data/test/test_ole.rb +106 -106
- data/test/test_storage_lite.rb +125 -125
- data/test/test_workbook.rb +139 -139
- data/test/test_worksheet.rb +110 -110
- data/utils/add_magic_comment.rb +80 -80
- data/writeexcel.gemspec +4 -6
- data/writeexcel.rdoc +58 -15
- metadata +9 -6
- data/test/test_new_encoding.rb +0 -205
data/test/helper.rb
CHANGED
@@ -1,28 +1,31 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
require 'rubygems'
|
3
|
-
require 'test/unit'
|
4
|
-
|
5
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
6
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
-
require 'writeexcel'
|
8
|
-
|
9
|
-
class Test::Unit::TestCase
|
10
|
-
###############################################################################
|
11
|
-
#
|
12
|
-
# Unpack the binary data into a format suitable for printing in tests.
|
13
|
-
#
|
14
|
-
def unpack_record(data)
|
15
|
-
data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
|
16
|
-
end
|
17
|
-
|
18
|
-
# expected : existing file path
|
19
|
-
# target : io (ex) string io object where stored data.
|
20
|
-
def compare_file(expected, target)
|
21
|
-
# target is StringIO object.
|
22
|
-
|
23
|
-
|
24
|
-
target.string.force_encoding('BINARY')
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'rubygems'
|
3
|
+
require 'test/unit'
|
4
|
+
|
5
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
6
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
require 'writeexcel'
|
8
|
+
|
9
|
+
class Test::Unit::TestCase
|
10
|
+
###############################################################################
|
11
|
+
#
|
12
|
+
# Unpack the binary data into a format suitable for printing in tests.
|
13
|
+
#
|
14
|
+
def unpack_record(data)
|
15
|
+
data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
|
16
|
+
end
|
17
|
+
|
18
|
+
# expected : existing file path
|
19
|
+
# target : io (ex) string io object where stored data.
|
20
|
+
def compare_file(expected, target)
|
21
|
+
# target is StringIO object.
|
22
|
+
result =
|
23
|
+
ruby_18 { target.string } ||
|
24
|
+
ruby_19 { target.string.force_encoding('BINARY') }
|
25
|
+
assert_equal(
|
26
|
+
File.binread(expected),
|
27
|
+
result,
|
28
|
+
"#{File.basename(expected)} doesn't match."
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
data/test/perl_output/README
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
###############################################################################
|
2
|
-
# This file contains sample output from the Spreadsheet::WriteExcel Perl
|
3
|
-
# module. Used for testing file sizes/contents
|
4
|
-
###############################################################################
|
5
|
-
|
6
|
-
Files:
|
7
|
-
|
8
|
-
ws_ -> from Worksheet.pm
|
9
|
-
f_ -> from Format.pm
|
10
|
-
ole_ -> from OLEWriter.pm
|
11
|
-
|
12
|
-
f_font_biff
|
13
|
-
Output of the _get_font call
|
14
|
-
|
15
|
-
f_font_key
|
16
|
-
Output of the _get_font_key call
|
17
|
-
|
18
|
-
f_xf_biff
|
19
|
-
Output of the _get_xf call
|
20
|
-
|
21
|
-
ws_colinfo
|
22
|
-
Output of the _store_colinfo call (default values)
|
23
|
-
|
24
|
-
ws_store_dimensions
|
25
|
-
Output of the _store_dimensions call
|
26
|
-
|
27
|
-
ws_store_window2
|
28
|
-
Output of the _store_window call
|
29
|
-
|
30
|
-
ws_store_selection
|
31
|
-
Output of the _store_selection call
|
1
|
+
###############################################################################
|
2
|
+
# This file contains sample output from the Spreadsheet::WriteExcel Perl
|
3
|
+
# module. Used for testing file sizes/contents
|
4
|
+
###############################################################################
|
5
|
+
|
6
|
+
Files:
|
7
|
+
|
8
|
+
ws_ -> from Worksheet.pm
|
9
|
+
f_ -> from Format.pm
|
10
|
+
ole_ -> from OLEWriter.pm
|
11
|
+
|
12
|
+
f_font_biff
|
13
|
+
Output of the _get_font call
|
14
|
+
|
15
|
+
f_font_key
|
16
|
+
Output of the _get_font_key call
|
17
|
+
|
18
|
+
f_xf_biff
|
19
|
+
Output of the _get_xf call
|
20
|
+
|
21
|
+
ws_colinfo
|
22
|
+
Output of the _store_colinfo call (default values)
|
23
|
+
|
24
|
+
ws_store_dimensions
|
25
|
+
Output of the _store_dimensions call
|
26
|
+
|
27
|
+
ws_store_window2
|
28
|
+
Output of the _store_window call
|
29
|
+
|
30
|
+
ws_store_selection
|
31
|
+
Output of the _store_selection call
|
data/test/test_00_IEEE_double.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
require 'helper'
|
3
|
-
|
4
|
-
class TC_BIFFWriter < Test::Unit::TestCase
|
5
|
-
|
6
|
-
def test_IEEE_double
|
7
|
-
teststr = [1.2345].pack("d")
|
8
|
-
hexdata = [0x8D, 0x97, 0x6E, 0x12, 0x83, 0xC0, 0xF3, 0x3F]
|
9
|
-
number = hexdata.pack("C8")
|
10
|
-
|
11
|
-
assert(number == teststr || number == teststr.reverse, "Not Little/Big endian. Give up.")
|
12
|
-
end
|
13
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TC_BIFFWriter < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def test_IEEE_double
|
7
|
+
teststr = [1.2345].pack("d")
|
8
|
+
hexdata = [0x8D, 0x97, 0x6E, 0x12, 0x83, 0xC0, 0xF3, 0x3F]
|
9
|
+
number = hexdata.pack("C8")
|
10
|
+
|
11
|
+
assert(number == teststr || number == teststr.reverse, "Not Little/Big endian. Give up.")
|
12
|
+
end
|
13
|
+
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
require 'helper'
|
3
|
-
|
4
|
-
class TC_add_worksheet < Test::Unit::TestCase
|
5
|
-
|
6
|
-
def test_true
|
7
|
-
assert(true)
|
8
|
-
end
|
9
|
-
|
10
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TC_add_worksheet < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def test_true
|
7
|
+
assert(true)
|
8
|
+
end
|
9
|
+
|
10
|
+
end
|
@@ -1,53 +1,53 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
require 'helper'
|
3
|
-
require 'stringio'
|
4
|
-
|
5
|
-
class TC_merge_formats < Test::Unit::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
@workbook = WriteExcel.new(StringIO.new)
|
9
|
-
@worksheet = @workbook.add_worksheet
|
10
|
-
@merged_format = @workbook.add_format(:bold => 1)
|
11
|
-
@non_merged_format = @workbook.add_format(:bold => 1)
|
12
|
-
|
13
|
-
@worksheet.set_row( 5, nil, @merged_format)
|
14
|
-
@worksheet.set_column('G:G', nil, @merged_format)
|
15
|
-
end
|
16
|
-
|
17
|
-
def teardown
|
18
|
-
@workbook.close
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_some
|
22
|
-
# Test 1 Normal usage.
|
23
|
-
assert_nothing_raised { @worksheet.write('A1', 'Test', @non_merged_format) }
|
24
|
-
assert_nothing_raised { @worksheet.write('A3:B4', 'Test', @merged_format) }
|
25
|
-
|
26
|
-
# Test 2 Non merge format in merged cells.
|
27
|
-
assert_nothing_raised {
|
28
|
-
@worksheet.merge_range('D3:E4', 'Test', @non_merged_format)
|
29
|
-
}
|
30
|
-
|
31
|
-
# Test 3 Merge format in column.
|
32
|
-
assert_nothing_raised { @worksheet.write('G1', 'Test') }
|
33
|
-
|
34
|
-
# Test 4 Merge format in row.
|
35
|
-
assert_nothing_raised { @worksheet.write('A6', 'Test') }
|
36
|
-
|
37
|
-
# Test 5 Merge format in column and row.
|
38
|
-
assert_nothing_raised { @worksheet.write('G6', 'Test') }
|
39
|
-
|
40
|
-
# Test 6 No merge format in column and row.
|
41
|
-
assert_nothing_raised { @worksheet.write('H7', 'Test') }
|
42
|
-
|
43
|
-
# Test 7 Normal usage again.
|
44
|
-
assert_nothing_raised {
|
45
|
-
@worksheet.write('A1', 'Test', @non_merged_format)
|
46
|
-
}
|
47
|
-
assert_nothing_raised {
|
48
|
-
@worksheet.merge_range('A3:B4', 'Test', @merged_format)
|
49
|
-
}
|
50
|
-
end
|
51
|
-
|
52
|
-
|
53
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
require 'stringio'
|
4
|
+
|
5
|
+
class TC_merge_formats < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@workbook = WriteExcel.new(StringIO.new)
|
9
|
+
@worksheet = @workbook.add_worksheet
|
10
|
+
@merged_format = @workbook.add_format(:bold => 1)
|
11
|
+
@non_merged_format = @workbook.add_format(:bold => 1)
|
12
|
+
|
13
|
+
@worksheet.set_row( 5, nil, @merged_format)
|
14
|
+
@worksheet.set_column('G:G', nil, @merged_format)
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
@workbook.close
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_some
|
22
|
+
# Test 1 Normal usage.
|
23
|
+
assert_nothing_raised { @worksheet.write('A1', 'Test', @non_merged_format) }
|
24
|
+
assert_nothing_raised { @worksheet.write('A3:B4', 'Test', @merged_format) }
|
25
|
+
|
26
|
+
# Test 2 Non merge format in merged cells.
|
27
|
+
assert_nothing_raised {
|
28
|
+
@worksheet.merge_range('D3:E4', 'Test', @non_merged_format)
|
29
|
+
}
|
30
|
+
|
31
|
+
# Test 3 Merge format in column.
|
32
|
+
assert_nothing_raised { @worksheet.write('G1', 'Test') }
|
33
|
+
|
34
|
+
# Test 4 Merge format in row.
|
35
|
+
assert_nothing_raised { @worksheet.write('A6', 'Test') }
|
36
|
+
|
37
|
+
# Test 5 Merge format in column and row.
|
38
|
+
assert_nothing_raised { @worksheet.write('G6', 'Test') }
|
39
|
+
|
40
|
+
# Test 6 No merge format in column and row.
|
41
|
+
assert_nothing_raised { @worksheet.write('H7', 'Test') }
|
42
|
+
|
43
|
+
# Test 7 Normal usage again.
|
44
|
+
assert_nothing_raised {
|
45
|
+
@worksheet.write('A1', 'Test', @non_merged_format)
|
46
|
+
}
|
47
|
+
assert_nothing_raised {
|
48
|
+
@worksheet.merge_range('A3:B4', 'Test', @merged_format)
|
49
|
+
}
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
end
|