xlsxtream 2.2.0 → 2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/xlsxtream/row.rb +23 -6
- data/lib/xlsxtream/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa056909b0dd743240cb8b4ddb85a86fd1110042110cd49731e9e8d13e7df5d9
|
4
|
+
data.tar.gz: 6726cf3a9d3f52bfe690551124d2d9cd769fd6c1b20d96893a0b336536a09c44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27292c56f60cf20c186af8bba0d52a1c799a0c1f6a76de49660d3c591986375df39b59e5752042aa1c5bf1016e17ce81ef28ceefdf3a6f59fc34a3f7d6a5d981
|
7
|
+
data.tar.gz: 743ea2bcdac011ac472f146222c5f20e63cb4bc38304ae470f80d6cf5660a65071556d3c61afd421e4c5933a0b6c705331348bd44a20641c77a92f1c736c0ee0
|
data/CHANGELOG.md
CHANGED
data/lib/xlsxtream/row.rb
CHANGED
@@ -43,10 +43,12 @@ module Xlsxtream
|
|
43
43
|
xml << %Q{<c r="#{cid}" t="n"><v>#{value}</v></c>}
|
44
44
|
when TrueClass, FalseClass
|
45
45
|
xml << %Q{<c r="#{cid}" t="b"><v>#{value ? 1 : 0}</v></c>}
|
46
|
-
when Time
|
46
|
+
when Time
|
47
47
|
xml << %Q{<c r="#{cid}" s="#{TIME_STYLE}"><v>#{time_to_oa_date(value)}</v></c>}
|
48
|
+
when DateTime
|
49
|
+
xml << %Q{<c r="#{cid}" s="#{TIME_STYLE}"><v>#{datetime_to_oa_date(value)}</v></c>}
|
48
50
|
when Date
|
49
|
-
xml << %Q{<c r="#{cid}" s="#{DATE_STYLE}"><v>#{
|
51
|
+
xml << %Q{<c r="#{cid}" s="#{DATE_STYLE}"><v>#{date_to_oa_date(value)}</v></c>}
|
50
52
|
else
|
51
53
|
value = value.to_s
|
52
54
|
|
@@ -85,14 +87,29 @@ module Xlsxtream
|
|
85
87
|
end
|
86
88
|
end
|
87
89
|
|
88
|
-
# Converts Time
|
90
|
+
# Converts Time instance to OLE Automation Date
|
89
91
|
def time_to_oa_date(time)
|
90
|
-
time = time.to_time if time.respond_to?(:to_time)
|
91
|
-
|
92
92
|
# Local dates are stored as UTC by truncating the offset:
|
93
93
|
# 1970-01-01 00:00:00 +0200 => 1970-01-01 00:00:00 UTC
|
94
94
|
# This is done because SpreadsheetML is not timezone aware.
|
95
|
-
(time + time.utc_offset)
|
95
|
+
(time.to_f + time.utc_offset) / 86400 + 25569
|
96
|
+
end
|
97
|
+
|
98
|
+
# Converts DateTime instance to OLE Automation Date
|
99
|
+
if RUBY_ENGINE == 'ruby'
|
100
|
+
def datetime_to_oa_date(date)
|
101
|
+
_, jd, df, sf, of = date.marshal_dump
|
102
|
+
jd - 2415019 + (df + of + sf / 1e9) / 86400
|
103
|
+
end
|
104
|
+
else
|
105
|
+
def datetime_to_oa_date(date)
|
106
|
+
date.jd - 2415019 + (date.hour * 3600 + date.sec + date.sec_fraction.to_f) / 86400
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
# Converts Date instance to OLE Automation Date
|
111
|
+
def date_to_oa_date(date)
|
112
|
+
(date.jd - 2415019).to_f
|
96
113
|
end
|
97
114
|
end
|
98
115
|
end
|
data/lib/xlsxtream/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xlsxtream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Bünemann
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: zip_tricks
|