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