writeexcel 0.1.0 → 0.3.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/README +26 -31
- data/examples/a_simple.rb +42 -42
- data/examples/{autofilters.rb → autofilter.rb} +264 -266
- data/examples/bigfile.rb +29 -0
- data/examples/chart_area.rb +120 -0
- data/examples/chart_bar.rb +119 -0
- data/examples/chart_column.rb +119 -0
- data/examples/chart_line.rb +119 -0
- data/examples/chart_pie.rb +107 -0
- data/examples/chart_scatter.rb +120 -0
- data/examples/chart_stock.rb +147 -0
- data/examples/copyformat.rb +51 -51
- data/examples/data_validate.rb +278 -278
- data/examples/date_time.rb +86 -86
- data/examples/defined_name.rb +31 -0
- data/examples/demo.rb +120 -118
- data/examples/diag_border.rb +35 -35
- data/examples/formats.rb +489 -489
- data/examples/header.rb +136 -136
- data/examples/hidden.rb +28 -28
- data/examples/hyperlink.rb +42 -42
- data/examples/images.rb +52 -52
- data/examples/merge1.rb +39 -39
- data/examples/merge2.rb +44 -44
- data/examples/merge3.rb +65 -65
- data/examples/merge4.rb +82 -82
- data/examples/merge5.rb +79 -79
- data/examples/properties.rb +33 -0
- data/examples/properties_jp.rb +32 -0
- data/examples/protection.rb +46 -46
- data/examples/regions.rb +52 -52
- data/examples/repeat.rb +42 -42
- data/examples/stats.rb +75 -75
- data/examples/stocks.rb +80 -80
- data/examples/tab_colors.rb +30 -30
- data/examples/write_arrays.rb +82 -0
- data/lib/writeexcel.rb +1134 -18
- data/lib/writeexcel/biffwriter.rb +273 -260
- data/lib/writeexcel/chart.rb +2306 -217
- data/lib/writeexcel/charts/area.rb +152 -0
- data/lib/writeexcel/charts/bar.rb +177 -0
- data/lib/writeexcel/charts/column.rb +156 -0
- data/lib/writeexcel/charts/external.rb +61 -0
- data/lib/writeexcel/charts/line.rb +152 -0
- data/lib/writeexcel/charts/pie.rb +169 -0
- data/lib/writeexcel/charts/scatter.rb +192 -0
- data/lib/writeexcel/charts/stock.rb +211 -0
- data/lib/writeexcel/excelformulaparser.rb +208 -195
- data/lib/writeexcel/format.rb +1697 -1108
- data/lib/writeexcel/formula.rb +1050 -986
- data/lib/writeexcel/olewriter.rb +322 -322
- data/lib/writeexcel/properties.rb +251 -250
- data/lib/writeexcel/storage_lite.rb +968 -0
- data/lib/writeexcel/workbook.rb +3294 -2630
- data/lib/writeexcel/worksheet.rb +9012 -6377
- data/test/excelfile/Chart1.xls +0 -0
- data/test/excelfile/Chart2.xls +0 -0
- data/test/excelfile/Chart3.xls +0 -0
- data/test/excelfile/Chart4.xls +0 -0
- data/test/excelfile/Chart5.xls +0 -0
- data/test/perl_output/Chart1.xls.data +0 -0
- data/test/perl_output/Chart2.xls.data +0 -0
- data/test/perl_output/Chart3.xls.data +0 -0
- data/test/perl_output/Chart4.xls.data +0 -0
- data/test/perl_output/Chart5.xls.data +0 -0
- data/test/perl_output/a_simple.xls +0 -0
- data/test/perl_output/autofilter.xls +0 -0
- data/test/perl_output/chart_area.xls +0 -0
- data/test/perl_output/chart_bar.xls +0 -0
- data/test/perl_output/chart_column.xls +0 -0
- data/test/perl_output/chart_line.xls +0 -0
- data/test/perl_output/data_validate.xls +0 -0
- data/test/perl_output/date_time.xls +0 -0
- data/test/perl_output/demo.xls +0 -0
- data/test/perl_output/demo101.bin +0 -0
- data/test/perl_output/demo201.bin +0 -0
- data/test/perl_output/demo301.bin +0 -0
- data/test/perl_output/demo401.bin +0 -0
- data/test/perl_output/demo501.bin +0 -0
- data/test/perl_output/diag_border.xls +0 -0
- data/test/perl_output/headers.xls +0 -0
- data/test/perl_output/hyperlink.xls +0 -0
- data/test/perl_output/images.xls +0 -0
- data/test/perl_output/merge1.xls +0 -0
- data/test/perl_output/merge2.xls +0 -0
- data/test/perl_output/merge3.xls +0 -0
- data/test/perl_output/merge4.xls +0 -0
- data/test/perl_output/merge5.xls +0 -0
- data/test/perl_output/protection.xls +0 -0
- data/test/perl_output/regions.xls +0 -0
- data/test/perl_output/stats.xls +0 -0
- data/test/perl_output/stocks.xls +0 -0
- data/test/perl_output/tab_colors.xls +0 -0
- data/test/perl_output/unicode_cyrillic.xls +0 -0
- data/test/perl_output/workbook1.xls +0 -0
- data/test/perl_output/workbook2.xls +0 -0
- data/test/tc_all.rb +32 -31
- data/test/tc_biff.rb +104 -104
- data/test/tc_chart.rb +22 -22
- data/test/tc_example_match.rb +1944 -1280
- data/test/tc_format.rb +1254 -1267
- data/test/tc_formula.rb +63 -63
- data/test/tc_ole.rb +110 -110
- data/test/tc_storage_lite.rb +149 -0
- data/test/tc_workbook.rb +140 -115
- data/test/tc_worksheet.rb +115 -115
- data/test/test_00_IEEE_double.rb +14 -14
- data/test/test_01_add_worksheet.rb +12 -12
- data/test/test_02_merge_formats.rb +58 -58
- data/test/test_04_dimensions.rb +397 -397
- data/test/test_05_rows.rb +182 -182
- data/test/test_06_extsst.rb +80 -80
- data/test/test_11_date_time.rb +484 -484
- data/test/test_12_date_only.rb +506 -506
- data/test/test_13_date_seconds.rb +486 -486
- data/test/test_21_escher.rb +642 -629
- data/test/test_22_mso_drawing_group.rb +750 -739
- data/test/test_23_note.rb +78 -78
- data/test/test_24_txo.rb +80 -80
- data/test/test_25_position_object.rb +82 -0
- data/test/test_26_autofilter.rb +327 -327
- data/test/test_27_autofilter.rb +144 -144
- data/test/test_28_autofilter.rb +174 -174
- data/test/test_29_process_jpg.rb +681 -131
- data/test/test_30_validation_dval.rb +82 -82
- data/test/test_31_validation_dv_strings.rb +131 -131
- data/test/test_32_validation_dv_formula.rb +211 -211
- data/test/test_40_property_types.rb +191 -191
- data/test/test_41_properties.rb +238 -238
- data/test/test_42_set_properties.rb +442 -419
- data/test/test_50_name_stored.rb +305 -0
- data/test/test_51_name_print_area.rb +363 -0
- data/test/test_52_name_print_titles.rb +460 -0
- data/test/test_53_autofilter.rb +209 -0
- data/test/test_60_chart_generic.rb +576 -0
- data/test/test_61_chart_subclasses.rb +97 -0
- data/test/test_62_chart_formats.rb +270 -0
- data/test/test_63_chart_area_formats.rb +647 -0
- data/test/test_chartex.rb +35 -0
- data/test/ts_all.rb +46 -34
- data/writeexcel.gemspec +18 -0
- data/writeexcel.rdoc +583 -0
- metadata +162 -108
data/test/test_12_date_only.rb
CHANGED
@@ -1,506 +1,506 @@
|
|
1
|
-
###############################################################################
|
2
|
-
#
|
3
|
-
# A test for
|
4
|
-
#
|
5
|
-
# Tests date and time handling. Tests dates in 1900 and 1904 format.
|
6
|
-
#
|
7
|
-
# reverse('©'), May 2004, John McNamara, jmcnamara@cpan.org
|
8
|
-
#
|
9
|
-
# original written in Perl by John McNamara
|
10
|
-
# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
|
11
|
-
#
|
12
|
-
############################################################################
|
13
|
-
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
|
14
|
-
|
15
|
-
require "test/unit"
|
16
|
-
require 'writeexcel'
|
17
|
-
|
18
|
-
class TC_data_only < Test::Unit::TestCase
|
19
|
-
|
20
|
-
def setup
|
21
|
-
t = Time.now.strftime("%Y%m%d")
|
22
|
-
path = "temp#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"
|
23
|
-
@test_file = File.join(Dir.tmpdir, path)
|
24
|
-
@workbook =
|
25
|
-
@worksheet = @workbook.add_worksheet
|
26
|
-
end
|
27
|
-
|
28
|
-
def teardown
|
29
|
-
@workbook.close
|
30
|
-
File.unlink(@test_file) if FileTest.exist?(@test_file)
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_the_dates_generated_by_excel
|
34
|
-
lines = data_generated_excel.split(/\n/)
|
35
|
-
while !lines.empty?
|
36
|
-
line = lines.shift.sub(/^\s*/,'')
|
37
|
-
braak if line =~ /^\s*# stop/ # For debugging
|
38
|
-
|
39
|
-
@worksheet.date_1904 = false if line =~ /Excel 1900/
|
40
|
-
@worksheet.date_1904 = true if line =~ /Excel 1904/
|
41
|
-
|
42
|
-
next unless line =~ /\S/ # Ignore blank lines
|
43
|
-
next if line =~ /^\s*#/ # Ignore comments
|
44
|
-
|
45
|
-
count, date, result = line.split(/\s+/)
|
46
|
-
number = @worksheet.convert_date_time(date)
|
47
|
-
number = -1 if number.nil?
|
48
|
-
assert_equal(result.to_i, number,
|
49
|
-
"Testing convert_date_time: #{date} #{result}")
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def data_generated_excel
|
54
|
-
|
55
|
-
return <<-__DATA_END__
|
56
|
-
|
57
|
-
#
|
58
|
-
# The following data was generated by Excel.
|
59
|
-
#
|
60
|
-
|
61
|
-
#
|
62
|
-
# Excel 1900 date system
|
63
|
-
#
|
64
|
-
1 1899-12-31T 0
|
65
|
-
2 1900-01-00T 0
|
66
|
-
3 1900-01-01T 1
|
67
|
-
4 1900-02-27T 58
|
68
|
-
5 1900-02-28T 59
|
69
|
-
6 1900-02-29T 60
|
70
|
-
7 1900-03-01T 61
|
71
|
-
8 1900-03-02T 62
|
72
|
-
9 1900-03-11T 71
|
73
|
-
10 1900-04-08T 99
|
74
|
-
11 1900-09-12T 256
|
75
|
-
12 1901-05-03T 489
|
76
|
-
13 1901-10-13T 652
|
77
|
-
14 1902-02-15T 777
|
78
|
-
15 1902-06-06T 888
|
79
|
-
16 1902-09-25T 999
|
80
|
-
17 1902-09-27T 1001
|
81
|
-
18 1903-04-26T 1212
|
82
|
-
19 1903-08-05T 1313
|
83
|
-
20 1903-12-31T 1461
|
84
|
-
21 1904-01-01T 1462
|
85
|
-
22 1904-02-28T 1520
|
86
|
-
23 1904-02-29T 1521
|
87
|
-
24 1904-03-01T 1522
|
88
|
-
25 1907-02-27T 2615
|
89
|
-
26 1907-02-28T 2616
|
90
|
-
27 1907-03-01T 2617
|
91
|
-
28 1907-03-02T 2618
|
92
|
-
29 1907-03-03T 2619
|
93
|
-
30 1907-03-04T 2620
|
94
|
-
31 1907-03-05T 2621
|
95
|
-
32 1907-03-06T 2622
|
96
|
-
33 1999-01-01T 36161
|
97
|
-
34 1999-01-31T 36191
|
98
|
-
35 1999-02-01T 36192
|
99
|
-
36 1999-02-28T 36219
|
100
|
-
37 1999-03-01T 36220
|
101
|
-
38 1999-03-31T 36250
|
102
|
-
39 1999-04-01T 36251
|
103
|
-
40 1999-04-30T 36280
|
104
|
-
41 1999-05-01T 36281
|
105
|
-
42 1999-05-31T 36311
|
106
|
-
43 1999-06-01T 36312
|
107
|
-
44 1999-06-30T 36341
|
108
|
-
45 1999-07-01T 36342
|
109
|
-
46 1999-07-31T 36372
|
110
|
-
47 1999-08-01T 36373
|
111
|
-
48 1999-08-31T 36403
|
112
|
-
49 1999-09-01T 36404
|
113
|
-
50 1999-09-30T 36433
|
114
|
-
51 1999-10-01T 36434
|
115
|
-
52 1999-10-31T 36464
|
116
|
-
53 1999-11-01T 36465
|
117
|
-
54 1999-11-30T 36494
|
118
|
-
55 1999-12-01T 36495
|
119
|
-
56 1999-12-31T 36525
|
120
|
-
57 2000-01-01T 36526
|
121
|
-
58 2000-01-31T 36556
|
122
|
-
59 2000-02-01T 36557
|
123
|
-
60 2000-02-29T 36585
|
124
|
-
61 2000-03-01T 36586
|
125
|
-
62 2000-03-31T 36616
|
126
|
-
63 2000-04-01T 36617
|
127
|
-
64 2000-04-30T 36646
|
128
|
-
65 2000-05-01T 36647
|
129
|
-
66 2000-05-31T 36677
|
130
|
-
67 2000-06-01T 36678
|
131
|
-
68 2000-06-30T 36707
|
132
|
-
69 2000-07-01T 36708
|
133
|
-
70 2000-07-31T 36738
|
134
|
-
71 2000-08-01T 36739
|
135
|
-
72 2000-08-31T 36769
|
136
|
-
73 2000-09-01T 36770
|
137
|
-
74 2000-09-30T 36799
|
138
|
-
75 2000-10-01T 36800
|
139
|
-
76 2000-10-31T 36830
|
140
|
-
77 2000-11-01T 36831
|
141
|
-
78 2000-11-30T 36860
|
142
|
-
79 2000-12-01T 36861
|
143
|
-
80 2000-12-31T 36891
|
144
|
-
81 2001-01-01T 36892
|
145
|
-
82 2001-01-31T 36922
|
146
|
-
83 2001-02-01T 36923
|
147
|
-
84 2001-02-28T 36950
|
148
|
-
85 2001-03-01T 36951
|
149
|
-
86 2001-03-31T 36981
|
150
|
-
87 2001-04-01T 36982
|
151
|
-
88 2001-04-30T 37011
|
152
|
-
89 2001-05-01T 37012
|
153
|
-
90 2001-05-31T 37042
|
154
|
-
91 2001-06-01T 37043
|
155
|
-
92 2001-06-30T 37072
|
156
|
-
93 2001-07-01T 37073
|
157
|
-
94 2001-07-31T 37103
|
158
|
-
95 2001-08-01T 37104
|
159
|
-
96 2001-08-31T 37134
|
160
|
-
97 2001-09-01T 37135
|
161
|
-
98 2001-09-30T 37164
|
162
|
-
99 2001-10-01T 37165
|
163
|
-
100 2001-10-31T 37195
|
164
|
-
101 2001-11-01T 37196
|
165
|
-
102 2001-11-30T 37225
|
166
|
-
103 2001-12-01T 37226
|
167
|
-
104 2001-12-31T 37256
|
168
|
-
105 2400-01-01T 182623
|
169
|
-
106 2400-01-31T 182653
|
170
|
-
107 2400-02-01T 182654
|
171
|
-
108 2400-02-29T 182682
|
172
|
-
109 2400-03-01T 182683
|
173
|
-
110 2400-03-31T 182713
|
174
|
-
111 2400-04-01T 182714
|
175
|
-
112 2400-04-30T 182743
|
176
|
-
113 2400-05-01T 182744
|
177
|
-
114 2400-05-31T 182774
|
178
|
-
115 2400-06-01T 182775
|
179
|
-
116 2400-06-30T 182804
|
180
|
-
117 2400-07-01T 182805
|
181
|
-
118 2400-07-31T 182835
|
182
|
-
119 2400-08-01T 182836
|
183
|
-
120 2400-08-31T 182866
|
184
|
-
121 2400-09-01T 182867
|
185
|
-
122 2400-09-30T 182896
|
186
|
-
123 2400-10-01T 182897
|
187
|
-
124 2400-10-31T 182927
|
188
|
-
125 2400-11-01T 182928
|
189
|
-
126 2400-11-30T 182957
|
190
|
-
127 2400-12-01T 182958
|
191
|
-
128 2400-12-31T 182988
|
192
|
-
129 4000-01-01T 767011
|
193
|
-
130 4000-01-31T 767041
|
194
|
-
131 4000-02-01T 767042
|
195
|
-
132 4000-02-29T 767070
|
196
|
-
133 4000-03-01T 767071
|
197
|
-
134 4000-03-31T 767101
|
198
|
-
135 4000-04-01T 767102
|
199
|
-
136 4000-04-30T 767131
|
200
|
-
137 4000-05-01T 767132
|
201
|
-
138 4000-05-31T 767162
|
202
|
-
139 4000-06-01T 767163
|
203
|
-
140 4000-06-30T 767192
|
204
|
-
141 4000-07-01T 767193
|
205
|
-
142 4000-07-31T 767223
|
206
|
-
143 4000-08-01T 767224
|
207
|
-
144 4000-08-31T 767254
|
208
|
-
145 4000-09-01T 767255
|
209
|
-
146 4000-09-30T 767284
|
210
|
-
147 4000-10-01T 767285
|
211
|
-
148 4000-10-31T 767315
|
212
|
-
149 4000-11-01T 767316
|
213
|
-
150 4000-11-30T 767345
|
214
|
-
151 4000-12-01T 767346
|
215
|
-
152 4000-12-31T 767376
|
216
|
-
153 4321-01-01T 884254
|
217
|
-
154 4321-01-31T 884284
|
218
|
-
155 4321-02-01T 884285
|
219
|
-
156 4321-02-28T 884312
|
220
|
-
157 4321-03-01T 884313
|
221
|
-
158 4321-03-31T 884343
|
222
|
-
159 4321-04-01T 884344
|
223
|
-
160 4321-04-30T 884373
|
224
|
-
161 4321-05-01T 884374
|
225
|
-
162 4321-05-31T 884404
|
226
|
-
163 4321-06-01T 884405
|
227
|
-
164 4321-06-30T 884434
|
228
|
-
165 4321-07-01T 884435
|
229
|
-
166 4321-07-31T 884465
|
230
|
-
167 4321-08-01T 884466
|
231
|
-
168 4321-08-31T 884496
|
232
|
-
169 4321-09-01T 884497
|
233
|
-
170 4321-09-30T 884526
|
234
|
-
171 4321-10-01T 884527
|
235
|
-
172 4321-10-31T 884557
|
236
|
-
173 4321-11-01T 884558
|
237
|
-
174 4321-11-30T 884587
|
238
|
-
175 4321-12-01T 884588
|
239
|
-
176 4321-12-31T 884618
|
240
|
-
177 9999-01-01T 2958101
|
241
|
-
178 9999-01-31T 2958131
|
242
|
-
179 9999-02-01T 2958132
|
243
|
-
180 9999-02-28T 2958159
|
244
|
-
181 9999-03-01T 2958160
|
245
|
-
182 9999-03-31T 2958190
|
246
|
-
183 9999-04-01T 2958191
|
247
|
-
184 9999-04-30T 2958220
|
248
|
-
185 9999-05-01T 2958221
|
249
|
-
186 9999-05-31T 2958251
|
250
|
-
187 9999-06-01T 2958252
|
251
|
-
188 9999-06-30T 2958281
|
252
|
-
189 9999-07-01T 2958282
|
253
|
-
190 9999-07-31T 2958312
|
254
|
-
191 9999-08-01T 2958313
|
255
|
-
192 9999-08-31T 2958343
|
256
|
-
193 9999-09-01T 2958344
|
257
|
-
194 9999-09-30T 2958373
|
258
|
-
195 9999-10-01T 2958374
|
259
|
-
196 9999-10-31T 2958404
|
260
|
-
197 9999-11-01T 2958405
|
261
|
-
198 9999-11-30T 2958434
|
262
|
-
199 9999-12-01T 2958435
|
263
|
-
200 9999-12-31T 2958465
|
264
|
-
|
265
|
-
#
|
266
|
-
# Excel 1904 date system
|
267
|
-
#
|
268
|
-
201 1904-01-01T 0
|
269
|
-
202 1904-01-31T 30
|
270
|
-
203 1904-02-01T 31
|
271
|
-
204 1904-02-29T 59
|
272
|
-
205 1904-03-01T 60
|
273
|
-
206 1904-03-31T 90
|
274
|
-
207 1904-04-01T 91
|
275
|
-
208 1904-04-30T 120
|
276
|
-
209 1904-05-01T 121
|
277
|
-
210 1904-05-31T 151
|
278
|
-
211 1904-06-01T 152
|
279
|
-
212 1904-06-30T 181
|
280
|
-
213 1904-07-01T 182
|
281
|
-
214 1904-07-31T 212
|
282
|
-
215 1904-08-01T 213
|
283
|
-
216 1904-08-31T 243
|
284
|
-
217 1904-09-01T 244
|
285
|
-
218 1904-09-30T 273
|
286
|
-
219 1904-10-01T 274
|
287
|
-
220 1904-10-31T 304
|
288
|
-
221 1904-11-01T 305
|
289
|
-
222 1904-11-30T 334
|
290
|
-
223 1904-12-01T 335
|
291
|
-
224 1904-12-31T 365
|
292
|
-
225 1907-02-27T 1153
|
293
|
-
226 1907-02-28T 1154
|
294
|
-
227 1907-03-01T 1155
|
295
|
-
228 1907-03-02T 1156
|
296
|
-
229 1907-03-03T 1157
|
297
|
-
230 1907-03-04T 1158
|
298
|
-
231 1907-03-05T 1159
|
299
|
-
232 1907-03-06T 1160
|
300
|
-
233 1999-01-01T 34699
|
301
|
-
234 1999-01-31T 34729
|
302
|
-
235 1999-02-01T 34730
|
303
|
-
236 1999-02-28T 34757
|
304
|
-
237 1999-03-01T 34758
|
305
|
-
238 1999-03-31T 34788
|
306
|
-
239 1999-04-01T 34789
|
307
|
-
240 1999-04-30T 34818
|
308
|
-
241 1999-05-01T 34819
|
309
|
-
242 1999-05-31T 34849
|
310
|
-
243 1999-06-01T 34850
|
311
|
-
244 1999-06-30T 34879
|
312
|
-
245 1999-07-01T 34880
|
313
|
-
246 1999-07-31T 34910
|
314
|
-
247 1999-08-01T 34911
|
315
|
-
248 1999-08-31T 34941
|
316
|
-
249 1999-09-01T 34942
|
317
|
-
250 1999-09-30T 34971
|
318
|
-
251 1999-10-01T 34972
|
319
|
-
252 1999-10-31T 35002
|
320
|
-
253 1999-11-01T 35003
|
321
|
-
254 1999-11-30T 35032
|
322
|
-
255 1999-12-01T 35033
|
323
|
-
256 1999-12-31T 35063
|
324
|
-
257 2000-01-01T 35064
|
325
|
-
258 2000-01-31T 35094
|
326
|
-
259 2000-02-01T 35095
|
327
|
-
260 2000-02-29T 35123
|
328
|
-
261 2000-03-01T 35124
|
329
|
-
262 2000-03-31T 35154
|
330
|
-
263 2000-04-01T 35155
|
331
|
-
264 2000-04-30T 35184
|
332
|
-
265 2000-05-01T 35185
|
333
|
-
266 2000-05-31T 35215
|
334
|
-
267 2000-06-01T 35216
|
335
|
-
268 2000-06-30T 35245
|
336
|
-
269 2000-07-01T 35246
|
337
|
-
270 2000-07-31T 35276
|
338
|
-
271 2000-08-01T 35277
|
339
|
-
272 2000-08-31T 35307
|
340
|
-
273 2000-09-01T 35308
|
341
|
-
274 2000-09-30T 35337
|
342
|
-
275 2000-10-01T 35338
|
343
|
-
276 2000-10-31T 35368
|
344
|
-
277 2000-11-01T 35369
|
345
|
-
278 2000-11-30T 35398
|
346
|
-
279 2000-12-01T 35399
|
347
|
-
280 2000-12-31T 35429
|
348
|
-
281 2001-01-01T 35430
|
349
|
-
282 2001-01-31T 35460
|
350
|
-
283 2001-02-01T 35461
|
351
|
-
284 2001-02-28T 35488
|
352
|
-
285 2001-03-01T 35489
|
353
|
-
286 2001-03-31T 35519
|
354
|
-
287 2001-04-01T 35520
|
355
|
-
288 2001-04-30T 35549
|
356
|
-
289 2001-05-01T 35550
|
357
|
-
290 2001-05-31T 35580
|
358
|
-
291 2001-06-01T 35581
|
359
|
-
292 2001-06-30T 35610
|
360
|
-
293 2001-07-01T 35611
|
361
|
-
294 2001-07-31T 35641
|
362
|
-
295 2001-08-01T 35642
|
363
|
-
296 2001-08-31T 35672
|
364
|
-
297 2001-09-01T 35673
|
365
|
-
298 2001-09-30T 35702
|
366
|
-
299 2001-10-01T 35703
|
367
|
-
300 2001-10-31T 35733
|
368
|
-
301 2001-11-01T 35734
|
369
|
-
302 2001-11-30T 35763
|
370
|
-
303 2001-12-01T 35764
|
371
|
-
304 2001-12-31T 35794
|
372
|
-
305 2400-01-01T 181161
|
373
|
-
306 2400-01-31T 181191
|
374
|
-
307 2400-02-01T 181192
|
375
|
-
308 2400-02-29T 181220
|
376
|
-
309 2400-03-01T 181221
|
377
|
-
310 2400-03-31T 181251
|
378
|
-
311 2400-04-01T 181252
|
379
|
-
312 2400-04-30T 181281
|
380
|
-
313 2400-05-01T 181282
|
381
|
-
314 2400-05-31T 181312
|
382
|
-
315 2400-06-01T 181313
|
383
|
-
316 2400-06-30T 181342
|
384
|
-
317 2400-07-01T 181343
|
385
|
-
318 2400-07-31T 181373
|
386
|
-
319 2400-08-01T 181374
|
387
|
-
320 2400-08-31T 181404
|
388
|
-
321 2400-09-01T 181405
|
389
|
-
322 2400-09-30T 181434
|
390
|
-
323 2400-10-01T 181435
|
391
|
-
324 2400-10-31T 181465
|
392
|
-
325 2400-11-01T 181466
|
393
|
-
326 2400-11-30T 181495
|
394
|
-
327 2400-12-01T 181496
|
395
|
-
328 2400-12-31T 181526
|
396
|
-
329 4000-01-01T 765549
|
397
|
-
330 4000-01-31T 765579
|
398
|
-
331 4000-02-01T 765580
|
399
|
-
332 4000-02-29T 765608
|
400
|
-
333 4000-03-01T 765609
|
401
|
-
334 4000-03-31T 765639
|
402
|
-
335 4000-04-01T 765640
|
403
|
-
336 4000-04-30T 765669
|
404
|
-
337 4000-05-01T 765670
|
405
|
-
338 4000-05-31T 765700
|
406
|
-
339 4000-06-01T 765701
|
407
|
-
340 4000-06-30T 765730
|
408
|
-
341 4000-07-01T 765731
|
409
|
-
342 4000-07-31T 765761
|
410
|
-
343 4000-08-01T 765762
|
411
|
-
344 4000-08-31T 765792
|
412
|
-
345 4000-09-01T 765793
|
413
|
-
346 4000-09-30T 765822
|
414
|
-
347 4000-10-01T 765823
|
415
|
-
348 4000-10-31T 765853
|
416
|
-
349 4000-11-01T 765854
|
417
|
-
350 4000-11-30T 765883
|
418
|
-
351 4000-12-01T 765884
|
419
|
-
352 4000-12-31T 765914
|
420
|
-
353 4321-01-01T 882792
|
421
|
-
354 4321-01-31T 882822
|
422
|
-
355 4321-02-01T 882823
|
423
|
-
356 4321-02-28T 882850
|
424
|
-
357 4321-03-01T 882851
|
425
|
-
358 4321-03-31T 882881
|
426
|
-
359 4321-04-01T 882882
|
427
|
-
360 4321-04-30T 882911
|
428
|
-
361 4321-05-01T 882912
|
429
|
-
362 4321-05-31T 882942
|
430
|
-
363 4321-06-01T 882943
|
431
|
-
364 4321-06-30T 882972
|
432
|
-
365 4321-07-01T 882973
|
433
|
-
366 4321-07-31T 883003
|
434
|
-
367 4321-08-01T 883004
|
435
|
-
368 4321-08-31T 883034
|
436
|
-
369 4321-09-01T 883035
|
437
|
-
370 4321-09-30T 883064
|
438
|
-
371 4321-10-01T 883065
|
439
|
-
372 4321-10-31T 883095
|
440
|
-
373 4321-11-01T 883096
|
441
|
-
374 4321-11-30T 883125
|
442
|
-
375 4321-12-01T 883126
|
443
|
-
376 4321-12-31T 883156
|
444
|
-
377 9999-01-01T 2956639
|
445
|
-
378 9999-01-31T 2956669
|
446
|
-
379 9999-02-01T 2956670
|
447
|
-
380 9999-02-28T 2956697
|
448
|
-
381 9999-03-01T 2956698
|
449
|
-
382 9999-03-31T 2956728
|
450
|
-
383 9999-04-01T 2956729
|
451
|
-
384 9999-04-30T 2956758
|
452
|
-
385 9999-05-01T 2956759
|
453
|
-
386 9999-05-31T 2956789
|
454
|
-
387 9999-06-01T 2956790
|
455
|
-
388 9999-06-30T 2956819
|
456
|
-
389 9999-07-01T 2956820
|
457
|
-
390 9999-07-31T 2956850
|
458
|
-
391 9999-08-01T 2956851
|
459
|
-
392 9999-08-31T 2956881
|
460
|
-
393 9999-09-01T 2956882
|
461
|
-
394 9999-09-30T 2956911
|
462
|
-
395 9999-10-01T 2956912
|
463
|
-
396 9999-10-31T 2956942
|
464
|
-
397 9999-11-01T 2956943
|
465
|
-
398 9999-11-30T 2956972
|
466
|
-
399 9999-12-01T 2956973
|
467
|
-
400 9999-12-31T 2957003
|
468
|
-
|
469
|
-
|
470
|
-
#
|
471
|
-
# The following dates are invalid.
|
472
|
-
#
|
473
|
-
|
474
|
-
#
|
475
|
-
# Excel 1900 date system
|
476
|
-
#
|
477
|
-
401 0000-12-30T -1 # Below year range.
|
478
|
-
402 1000-12-30T -1 # Below year range.
|
479
|
-
403 1899-12-30T -1 # Below year range.
|
480
|
-
404 2002-02-29T -1 # False leap-day.
|
481
|
-
405 2000-00-00T -1 # No month or day.
|
482
|
-
406 2000-01-00T -1 # No day.
|
483
|
-
407 2000-00-01T -1 # No month.
|
484
|
-
408 2000-13-01T -1 # Month out of range.
|
485
|
-
409 2000-12-32T -1 # Day out of range.
|
486
|
-
410 10000-01-01T -1 # Year out of range.
|
487
|
-
|
488
|
-
#
|
489
|
-
# Excel 1904 date system
|
490
|
-
#
|
491
|
-
411 1899-12-31T -1 # Below year range.
|
492
|
-
412 1900-01-01T -1 # Below year range.
|
493
|
-
413 1903-12-31T -1 # Below year range.
|
494
|
-
414 2001-02-29T -1 # False leap-day.
|
495
|
-
415 2000-00-00T -1 # No month or day.
|
496
|
-
416 2000-01-00T -1 # No day.
|
497
|
-
417 2000-00-01T -1 # No month.
|
498
|
-
418 2000-13-01T -1 # Month out of range.
|
499
|
-
419 2000-12-32T -1 # Day out of range.
|
500
|
-
420 10000-01-01T -1 # Year out of range.
|
501
|
-
|
502
|
-
__DATA_END__
|
503
|
-
|
504
|
-
end
|
505
|
-
|
506
|
-
end
|
1
|
+
###############################################################################
|
2
|
+
#
|
3
|
+
# A test for WriteExcel.
|
4
|
+
#
|
5
|
+
# Tests date and time handling. Tests dates in 1900 and 1904 format.
|
6
|
+
#
|
7
|
+
# reverse('©'), May 2004, John McNamara, jmcnamara@cpan.org
|
8
|
+
#
|
9
|
+
# original written in Perl by John McNamara
|
10
|
+
# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
|
11
|
+
#
|
12
|
+
############################################################################
|
13
|
+
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
|
14
|
+
|
15
|
+
require "test/unit"
|
16
|
+
require 'writeexcel'
|
17
|
+
|
18
|
+
class TC_data_only < Test::Unit::TestCase
|
19
|
+
|
20
|
+
def setup
|
21
|
+
t = Time.now.strftime("%Y%m%d")
|
22
|
+
path = "temp#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"
|
23
|
+
@test_file = File.join(Dir.tmpdir, path)
|
24
|
+
@workbook = WriteExcel.new(@test_file)
|
25
|
+
@worksheet = @workbook.add_worksheet
|
26
|
+
end
|
27
|
+
|
28
|
+
def teardown
|
29
|
+
@workbook.close
|
30
|
+
File.unlink(@test_file) if FileTest.exist?(@test_file)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_the_dates_generated_by_excel
|
34
|
+
lines = data_generated_excel.split(/\n/)
|
35
|
+
while !lines.empty?
|
36
|
+
line = lines.shift.sub(/^\s*/,'')
|
37
|
+
braak if line =~ /^\s*# stop/ # For debugging
|
38
|
+
|
39
|
+
@worksheet.date_1904 = false if line =~ /Excel 1900/
|
40
|
+
@worksheet.date_1904 = true if line =~ /Excel 1904/
|
41
|
+
|
42
|
+
next unless line =~ /\S/ # Ignore blank lines
|
43
|
+
next if line =~ /^\s*#/ # Ignore comments
|
44
|
+
|
45
|
+
count, date, result = line.split(/\s+/)
|
46
|
+
number = @worksheet.convert_date_time(date)
|
47
|
+
number = -1 if number.nil?
|
48
|
+
assert_equal(result.to_i, number,
|
49
|
+
"Testing convert_date_time: #{date} #{result}")
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def data_generated_excel
|
54
|
+
|
55
|
+
return <<-__DATA_END__
|
56
|
+
|
57
|
+
#
|
58
|
+
# The following data was generated by Excel.
|
59
|
+
#
|
60
|
+
|
61
|
+
#
|
62
|
+
# Excel 1900 date system
|
63
|
+
#
|
64
|
+
1 1899-12-31T 0
|
65
|
+
2 1900-01-00T 0
|
66
|
+
3 1900-01-01T 1
|
67
|
+
4 1900-02-27T 58
|
68
|
+
5 1900-02-28T 59
|
69
|
+
6 1900-02-29T 60
|
70
|
+
7 1900-03-01T 61
|
71
|
+
8 1900-03-02T 62
|
72
|
+
9 1900-03-11T 71
|
73
|
+
10 1900-04-08T 99
|
74
|
+
11 1900-09-12T 256
|
75
|
+
12 1901-05-03T 489
|
76
|
+
13 1901-10-13T 652
|
77
|
+
14 1902-02-15T 777
|
78
|
+
15 1902-06-06T 888
|
79
|
+
16 1902-09-25T 999
|
80
|
+
17 1902-09-27T 1001
|
81
|
+
18 1903-04-26T 1212
|
82
|
+
19 1903-08-05T 1313
|
83
|
+
20 1903-12-31T 1461
|
84
|
+
21 1904-01-01T 1462
|
85
|
+
22 1904-02-28T 1520
|
86
|
+
23 1904-02-29T 1521
|
87
|
+
24 1904-03-01T 1522
|
88
|
+
25 1907-02-27T 2615
|
89
|
+
26 1907-02-28T 2616
|
90
|
+
27 1907-03-01T 2617
|
91
|
+
28 1907-03-02T 2618
|
92
|
+
29 1907-03-03T 2619
|
93
|
+
30 1907-03-04T 2620
|
94
|
+
31 1907-03-05T 2621
|
95
|
+
32 1907-03-06T 2622
|
96
|
+
33 1999-01-01T 36161
|
97
|
+
34 1999-01-31T 36191
|
98
|
+
35 1999-02-01T 36192
|
99
|
+
36 1999-02-28T 36219
|
100
|
+
37 1999-03-01T 36220
|
101
|
+
38 1999-03-31T 36250
|
102
|
+
39 1999-04-01T 36251
|
103
|
+
40 1999-04-30T 36280
|
104
|
+
41 1999-05-01T 36281
|
105
|
+
42 1999-05-31T 36311
|
106
|
+
43 1999-06-01T 36312
|
107
|
+
44 1999-06-30T 36341
|
108
|
+
45 1999-07-01T 36342
|
109
|
+
46 1999-07-31T 36372
|
110
|
+
47 1999-08-01T 36373
|
111
|
+
48 1999-08-31T 36403
|
112
|
+
49 1999-09-01T 36404
|
113
|
+
50 1999-09-30T 36433
|
114
|
+
51 1999-10-01T 36434
|
115
|
+
52 1999-10-31T 36464
|
116
|
+
53 1999-11-01T 36465
|
117
|
+
54 1999-11-30T 36494
|
118
|
+
55 1999-12-01T 36495
|
119
|
+
56 1999-12-31T 36525
|
120
|
+
57 2000-01-01T 36526
|
121
|
+
58 2000-01-31T 36556
|
122
|
+
59 2000-02-01T 36557
|
123
|
+
60 2000-02-29T 36585
|
124
|
+
61 2000-03-01T 36586
|
125
|
+
62 2000-03-31T 36616
|
126
|
+
63 2000-04-01T 36617
|
127
|
+
64 2000-04-30T 36646
|
128
|
+
65 2000-05-01T 36647
|
129
|
+
66 2000-05-31T 36677
|
130
|
+
67 2000-06-01T 36678
|
131
|
+
68 2000-06-30T 36707
|
132
|
+
69 2000-07-01T 36708
|
133
|
+
70 2000-07-31T 36738
|
134
|
+
71 2000-08-01T 36739
|
135
|
+
72 2000-08-31T 36769
|
136
|
+
73 2000-09-01T 36770
|
137
|
+
74 2000-09-30T 36799
|
138
|
+
75 2000-10-01T 36800
|
139
|
+
76 2000-10-31T 36830
|
140
|
+
77 2000-11-01T 36831
|
141
|
+
78 2000-11-30T 36860
|
142
|
+
79 2000-12-01T 36861
|
143
|
+
80 2000-12-31T 36891
|
144
|
+
81 2001-01-01T 36892
|
145
|
+
82 2001-01-31T 36922
|
146
|
+
83 2001-02-01T 36923
|
147
|
+
84 2001-02-28T 36950
|
148
|
+
85 2001-03-01T 36951
|
149
|
+
86 2001-03-31T 36981
|
150
|
+
87 2001-04-01T 36982
|
151
|
+
88 2001-04-30T 37011
|
152
|
+
89 2001-05-01T 37012
|
153
|
+
90 2001-05-31T 37042
|
154
|
+
91 2001-06-01T 37043
|
155
|
+
92 2001-06-30T 37072
|
156
|
+
93 2001-07-01T 37073
|
157
|
+
94 2001-07-31T 37103
|
158
|
+
95 2001-08-01T 37104
|
159
|
+
96 2001-08-31T 37134
|
160
|
+
97 2001-09-01T 37135
|
161
|
+
98 2001-09-30T 37164
|
162
|
+
99 2001-10-01T 37165
|
163
|
+
100 2001-10-31T 37195
|
164
|
+
101 2001-11-01T 37196
|
165
|
+
102 2001-11-30T 37225
|
166
|
+
103 2001-12-01T 37226
|
167
|
+
104 2001-12-31T 37256
|
168
|
+
105 2400-01-01T 182623
|
169
|
+
106 2400-01-31T 182653
|
170
|
+
107 2400-02-01T 182654
|
171
|
+
108 2400-02-29T 182682
|
172
|
+
109 2400-03-01T 182683
|
173
|
+
110 2400-03-31T 182713
|
174
|
+
111 2400-04-01T 182714
|
175
|
+
112 2400-04-30T 182743
|
176
|
+
113 2400-05-01T 182744
|
177
|
+
114 2400-05-31T 182774
|
178
|
+
115 2400-06-01T 182775
|
179
|
+
116 2400-06-30T 182804
|
180
|
+
117 2400-07-01T 182805
|
181
|
+
118 2400-07-31T 182835
|
182
|
+
119 2400-08-01T 182836
|
183
|
+
120 2400-08-31T 182866
|
184
|
+
121 2400-09-01T 182867
|
185
|
+
122 2400-09-30T 182896
|
186
|
+
123 2400-10-01T 182897
|
187
|
+
124 2400-10-31T 182927
|
188
|
+
125 2400-11-01T 182928
|
189
|
+
126 2400-11-30T 182957
|
190
|
+
127 2400-12-01T 182958
|
191
|
+
128 2400-12-31T 182988
|
192
|
+
129 4000-01-01T 767011
|
193
|
+
130 4000-01-31T 767041
|
194
|
+
131 4000-02-01T 767042
|
195
|
+
132 4000-02-29T 767070
|
196
|
+
133 4000-03-01T 767071
|
197
|
+
134 4000-03-31T 767101
|
198
|
+
135 4000-04-01T 767102
|
199
|
+
136 4000-04-30T 767131
|
200
|
+
137 4000-05-01T 767132
|
201
|
+
138 4000-05-31T 767162
|
202
|
+
139 4000-06-01T 767163
|
203
|
+
140 4000-06-30T 767192
|
204
|
+
141 4000-07-01T 767193
|
205
|
+
142 4000-07-31T 767223
|
206
|
+
143 4000-08-01T 767224
|
207
|
+
144 4000-08-31T 767254
|
208
|
+
145 4000-09-01T 767255
|
209
|
+
146 4000-09-30T 767284
|
210
|
+
147 4000-10-01T 767285
|
211
|
+
148 4000-10-31T 767315
|
212
|
+
149 4000-11-01T 767316
|
213
|
+
150 4000-11-30T 767345
|
214
|
+
151 4000-12-01T 767346
|
215
|
+
152 4000-12-31T 767376
|
216
|
+
153 4321-01-01T 884254
|
217
|
+
154 4321-01-31T 884284
|
218
|
+
155 4321-02-01T 884285
|
219
|
+
156 4321-02-28T 884312
|
220
|
+
157 4321-03-01T 884313
|
221
|
+
158 4321-03-31T 884343
|
222
|
+
159 4321-04-01T 884344
|
223
|
+
160 4321-04-30T 884373
|
224
|
+
161 4321-05-01T 884374
|
225
|
+
162 4321-05-31T 884404
|
226
|
+
163 4321-06-01T 884405
|
227
|
+
164 4321-06-30T 884434
|
228
|
+
165 4321-07-01T 884435
|
229
|
+
166 4321-07-31T 884465
|
230
|
+
167 4321-08-01T 884466
|
231
|
+
168 4321-08-31T 884496
|
232
|
+
169 4321-09-01T 884497
|
233
|
+
170 4321-09-30T 884526
|
234
|
+
171 4321-10-01T 884527
|
235
|
+
172 4321-10-31T 884557
|
236
|
+
173 4321-11-01T 884558
|
237
|
+
174 4321-11-30T 884587
|
238
|
+
175 4321-12-01T 884588
|
239
|
+
176 4321-12-31T 884618
|
240
|
+
177 9999-01-01T 2958101
|
241
|
+
178 9999-01-31T 2958131
|
242
|
+
179 9999-02-01T 2958132
|
243
|
+
180 9999-02-28T 2958159
|
244
|
+
181 9999-03-01T 2958160
|
245
|
+
182 9999-03-31T 2958190
|
246
|
+
183 9999-04-01T 2958191
|
247
|
+
184 9999-04-30T 2958220
|
248
|
+
185 9999-05-01T 2958221
|
249
|
+
186 9999-05-31T 2958251
|
250
|
+
187 9999-06-01T 2958252
|
251
|
+
188 9999-06-30T 2958281
|
252
|
+
189 9999-07-01T 2958282
|
253
|
+
190 9999-07-31T 2958312
|
254
|
+
191 9999-08-01T 2958313
|
255
|
+
192 9999-08-31T 2958343
|
256
|
+
193 9999-09-01T 2958344
|
257
|
+
194 9999-09-30T 2958373
|
258
|
+
195 9999-10-01T 2958374
|
259
|
+
196 9999-10-31T 2958404
|
260
|
+
197 9999-11-01T 2958405
|
261
|
+
198 9999-11-30T 2958434
|
262
|
+
199 9999-12-01T 2958435
|
263
|
+
200 9999-12-31T 2958465
|
264
|
+
|
265
|
+
#
|
266
|
+
# Excel 1904 date system
|
267
|
+
#
|
268
|
+
201 1904-01-01T 0
|
269
|
+
202 1904-01-31T 30
|
270
|
+
203 1904-02-01T 31
|
271
|
+
204 1904-02-29T 59
|
272
|
+
205 1904-03-01T 60
|
273
|
+
206 1904-03-31T 90
|
274
|
+
207 1904-04-01T 91
|
275
|
+
208 1904-04-30T 120
|
276
|
+
209 1904-05-01T 121
|
277
|
+
210 1904-05-31T 151
|
278
|
+
211 1904-06-01T 152
|
279
|
+
212 1904-06-30T 181
|
280
|
+
213 1904-07-01T 182
|
281
|
+
214 1904-07-31T 212
|
282
|
+
215 1904-08-01T 213
|
283
|
+
216 1904-08-31T 243
|
284
|
+
217 1904-09-01T 244
|
285
|
+
218 1904-09-30T 273
|
286
|
+
219 1904-10-01T 274
|
287
|
+
220 1904-10-31T 304
|
288
|
+
221 1904-11-01T 305
|
289
|
+
222 1904-11-30T 334
|
290
|
+
223 1904-12-01T 335
|
291
|
+
224 1904-12-31T 365
|
292
|
+
225 1907-02-27T 1153
|
293
|
+
226 1907-02-28T 1154
|
294
|
+
227 1907-03-01T 1155
|
295
|
+
228 1907-03-02T 1156
|
296
|
+
229 1907-03-03T 1157
|
297
|
+
230 1907-03-04T 1158
|
298
|
+
231 1907-03-05T 1159
|
299
|
+
232 1907-03-06T 1160
|
300
|
+
233 1999-01-01T 34699
|
301
|
+
234 1999-01-31T 34729
|
302
|
+
235 1999-02-01T 34730
|
303
|
+
236 1999-02-28T 34757
|
304
|
+
237 1999-03-01T 34758
|
305
|
+
238 1999-03-31T 34788
|
306
|
+
239 1999-04-01T 34789
|
307
|
+
240 1999-04-30T 34818
|
308
|
+
241 1999-05-01T 34819
|
309
|
+
242 1999-05-31T 34849
|
310
|
+
243 1999-06-01T 34850
|
311
|
+
244 1999-06-30T 34879
|
312
|
+
245 1999-07-01T 34880
|
313
|
+
246 1999-07-31T 34910
|
314
|
+
247 1999-08-01T 34911
|
315
|
+
248 1999-08-31T 34941
|
316
|
+
249 1999-09-01T 34942
|
317
|
+
250 1999-09-30T 34971
|
318
|
+
251 1999-10-01T 34972
|
319
|
+
252 1999-10-31T 35002
|
320
|
+
253 1999-11-01T 35003
|
321
|
+
254 1999-11-30T 35032
|
322
|
+
255 1999-12-01T 35033
|
323
|
+
256 1999-12-31T 35063
|
324
|
+
257 2000-01-01T 35064
|
325
|
+
258 2000-01-31T 35094
|
326
|
+
259 2000-02-01T 35095
|
327
|
+
260 2000-02-29T 35123
|
328
|
+
261 2000-03-01T 35124
|
329
|
+
262 2000-03-31T 35154
|
330
|
+
263 2000-04-01T 35155
|
331
|
+
264 2000-04-30T 35184
|
332
|
+
265 2000-05-01T 35185
|
333
|
+
266 2000-05-31T 35215
|
334
|
+
267 2000-06-01T 35216
|
335
|
+
268 2000-06-30T 35245
|
336
|
+
269 2000-07-01T 35246
|
337
|
+
270 2000-07-31T 35276
|
338
|
+
271 2000-08-01T 35277
|
339
|
+
272 2000-08-31T 35307
|
340
|
+
273 2000-09-01T 35308
|
341
|
+
274 2000-09-30T 35337
|
342
|
+
275 2000-10-01T 35338
|
343
|
+
276 2000-10-31T 35368
|
344
|
+
277 2000-11-01T 35369
|
345
|
+
278 2000-11-30T 35398
|
346
|
+
279 2000-12-01T 35399
|
347
|
+
280 2000-12-31T 35429
|
348
|
+
281 2001-01-01T 35430
|
349
|
+
282 2001-01-31T 35460
|
350
|
+
283 2001-02-01T 35461
|
351
|
+
284 2001-02-28T 35488
|
352
|
+
285 2001-03-01T 35489
|
353
|
+
286 2001-03-31T 35519
|
354
|
+
287 2001-04-01T 35520
|
355
|
+
288 2001-04-30T 35549
|
356
|
+
289 2001-05-01T 35550
|
357
|
+
290 2001-05-31T 35580
|
358
|
+
291 2001-06-01T 35581
|
359
|
+
292 2001-06-30T 35610
|
360
|
+
293 2001-07-01T 35611
|
361
|
+
294 2001-07-31T 35641
|
362
|
+
295 2001-08-01T 35642
|
363
|
+
296 2001-08-31T 35672
|
364
|
+
297 2001-09-01T 35673
|
365
|
+
298 2001-09-30T 35702
|
366
|
+
299 2001-10-01T 35703
|
367
|
+
300 2001-10-31T 35733
|
368
|
+
301 2001-11-01T 35734
|
369
|
+
302 2001-11-30T 35763
|
370
|
+
303 2001-12-01T 35764
|
371
|
+
304 2001-12-31T 35794
|
372
|
+
305 2400-01-01T 181161
|
373
|
+
306 2400-01-31T 181191
|
374
|
+
307 2400-02-01T 181192
|
375
|
+
308 2400-02-29T 181220
|
376
|
+
309 2400-03-01T 181221
|
377
|
+
310 2400-03-31T 181251
|
378
|
+
311 2400-04-01T 181252
|
379
|
+
312 2400-04-30T 181281
|
380
|
+
313 2400-05-01T 181282
|
381
|
+
314 2400-05-31T 181312
|
382
|
+
315 2400-06-01T 181313
|
383
|
+
316 2400-06-30T 181342
|
384
|
+
317 2400-07-01T 181343
|
385
|
+
318 2400-07-31T 181373
|
386
|
+
319 2400-08-01T 181374
|
387
|
+
320 2400-08-31T 181404
|
388
|
+
321 2400-09-01T 181405
|
389
|
+
322 2400-09-30T 181434
|
390
|
+
323 2400-10-01T 181435
|
391
|
+
324 2400-10-31T 181465
|
392
|
+
325 2400-11-01T 181466
|
393
|
+
326 2400-11-30T 181495
|
394
|
+
327 2400-12-01T 181496
|
395
|
+
328 2400-12-31T 181526
|
396
|
+
329 4000-01-01T 765549
|
397
|
+
330 4000-01-31T 765579
|
398
|
+
331 4000-02-01T 765580
|
399
|
+
332 4000-02-29T 765608
|
400
|
+
333 4000-03-01T 765609
|
401
|
+
334 4000-03-31T 765639
|
402
|
+
335 4000-04-01T 765640
|
403
|
+
336 4000-04-30T 765669
|
404
|
+
337 4000-05-01T 765670
|
405
|
+
338 4000-05-31T 765700
|
406
|
+
339 4000-06-01T 765701
|
407
|
+
340 4000-06-30T 765730
|
408
|
+
341 4000-07-01T 765731
|
409
|
+
342 4000-07-31T 765761
|
410
|
+
343 4000-08-01T 765762
|
411
|
+
344 4000-08-31T 765792
|
412
|
+
345 4000-09-01T 765793
|
413
|
+
346 4000-09-30T 765822
|
414
|
+
347 4000-10-01T 765823
|
415
|
+
348 4000-10-31T 765853
|
416
|
+
349 4000-11-01T 765854
|
417
|
+
350 4000-11-30T 765883
|
418
|
+
351 4000-12-01T 765884
|
419
|
+
352 4000-12-31T 765914
|
420
|
+
353 4321-01-01T 882792
|
421
|
+
354 4321-01-31T 882822
|
422
|
+
355 4321-02-01T 882823
|
423
|
+
356 4321-02-28T 882850
|
424
|
+
357 4321-03-01T 882851
|
425
|
+
358 4321-03-31T 882881
|
426
|
+
359 4321-04-01T 882882
|
427
|
+
360 4321-04-30T 882911
|
428
|
+
361 4321-05-01T 882912
|
429
|
+
362 4321-05-31T 882942
|
430
|
+
363 4321-06-01T 882943
|
431
|
+
364 4321-06-30T 882972
|
432
|
+
365 4321-07-01T 882973
|
433
|
+
366 4321-07-31T 883003
|
434
|
+
367 4321-08-01T 883004
|
435
|
+
368 4321-08-31T 883034
|
436
|
+
369 4321-09-01T 883035
|
437
|
+
370 4321-09-30T 883064
|
438
|
+
371 4321-10-01T 883065
|
439
|
+
372 4321-10-31T 883095
|
440
|
+
373 4321-11-01T 883096
|
441
|
+
374 4321-11-30T 883125
|
442
|
+
375 4321-12-01T 883126
|
443
|
+
376 4321-12-31T 883156
|
444
|
+
377 9999-01-01T 2956639
|
445
|
+
378 9999-01-31T 2956669
|
446
|
+
379 9999-02-01T 2956670
|
447
|
+
380 9999-02-28T 2956697
|
448
|
+
381 9999-03-01T 2956698
|
449
|
+
382 9999-03-31T 2956728
|
450
|
+
383 9999-04-01T 2956729
|
451
|
+
384 9999-04-30T 2956758
|
452
|
+
385 9999-05-01T 2956759
|
453
|
+
386 9999-05-31T 2956789
|
454
|
+
387 9999-06-01T 2956790
|
455
|
+
388 9999-06-30T 2956819
|
456
|
+
389 9999-07-01T 2956820
|
457
|
+
390 9999-07-31T 2956850
|
458
|
+
391 9999-08-01T 2956851
|
459
|
+
392 9999-08-31T 2956881
|
460
|
+
393 9999-09-01T 2956882
|
461
|
+
394 9999-09-30T 2956911
|
462
|
+
395 9999-10-01T 2956912
|
463
|
+
396 9999-10-31T 2956942
|
464
|
+
397 9999-11-01T 2956943
|
465
|
+
398 9999-11-30T 2956972
|
466
|
+
399 9999-12-01T 2956973
|
467
|
+
400 9999-12-31T 2957003
|
468
|
+
|
469
|
+
|
470
|
+
#
|
471
|
+
# The following dates are invalid.
|
472
|
+
#
|
473
|
+
|
474
|
+
#
|
475
|
+
# Excel 1900 date system
|
476
|
+
#
|
477
|
+
401 0000-12-30T -1 # Below year range.
|
478
|
+
402 1000-12-30T -1 # Below year range.
|
479
|
+
403 1899-12-30T -1 # Below year range.
|
480
|
+
404 2002-02-29T -1 # False leap-day.
|
481
|
+
405 2000-00-00T -1 # No month or day.
|
482
|
+
406 2000-01-00T -1 # No day.
|
483
|
+
407 2000-00-01T -1 # No month.
|
484
|
+
408 2000-13-01T -1 # Month out of range.
|
485
|
+
409 2000-12-32T -1 # Day out of range.
|
486
|
+
410 10000-01-01T -1 # Year out of range.
|
487
|
+
|
488
|
+
#
|
489
|
+
# Excel 1904 date system
|
490
|
+
#
|
491
|
+
411 1899-12-31T -1 # Below year range.
|
492
|
+
412 1900-01-01T -1 # Below year range.
|
493
|
+
413 1903-12-31T -1 # Below year range.
|
494
|
+
414 2001-02-29T -1 # False leap-day.
|
495
|
+
415 2000-00-00T -1 # No month or day.
|
496
|
+
416 2000-01-00T -1 # No day.
|
497
|
+
417 2000-00-01T -1 # No month.
|
498
|
+
418 2000-13-01T -1 # Month out of range.
|
499
|
+
419 2000-12-32T -1 # Day out of range.
|
500
|
+
420 10000-01-01T -1 # Year out of range.
|
501
|
+
|
502
|
+
__DATA_END__
|
503
|
+
|
504
|
+
end
|
505
|
+
|
506
|
+
end
|