fast_xlsx 0.3.0-x86_64-linux → 0.4.0-x86_64-linux

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa33588d163149bd2ff649232a7f10246b81dee9f777f55c38afa7d735d90917
4
- data.tar.gz: '08f220f1a035657a1ab915c9b73ab67ed316cb15c7cbd532df922e2e9cdc339d'
3
+ metadata.gz: da1b5ddd6d7ad35bd58ef2015589ae66956da6d273a9e921bd5ac953b93f61c7
4
+ data.tar.gz: ffeccd27255b345a15a62bc57e38b9ff61e5066c1fd5a7fdb8c88188b4f33c3c
5
5
  SHA512:
6
- metadata.gz: 1a9a6c93be3e311157652e72f8ce0ac34f9f7059ea1c871e746c66e0d5c4503e45e3031f55245bd76dc8e598460831828b2fba51078f2613e9b4a412823f5969
7
- data.tar.gz: 53f6f6d9e41ff5e1aac020b2139aaf06ae6395cd48bf3ddd6095e451680856208ad292e97f7dbc334f3d615cd282ac6132104dbd691b26d93a8d3eece85efd8a
6
+ metadata.gz: fcb2c9566ced9bd3243b166f15d4c4a778d8a6fcdd913f9f18d7a58c740dfce4fdd255d52952653ef4101d086c3a798aa4751bba3b7270563419512f3f3043e5
7
+ data.tar.gz: 43bc44cc88256b008a646ea2664125de836747856723c47cf7574156d43e758006fffeac54dd536c72fb3564e16e944ef4705fd20b887835d7859ab6b919f1ef
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.4.0] - 2026-10-01
4
+
5
+ ### Changed
6
+
7
+ - Dates and times written without a format now get `yyyy-mm-dd` (`Date`) or `yyyy-mm-dd hh:mm:ss` (`Time`, `DateTime`) instead of showing as serial numbers. A cell's own format, its table column's and `column_format` still win. Applying the format makes writing date-heavy data about 15% slower, the same as passing a date format yourself.
8
+
3
9
  ## [0.3.0] - 2026-10-01
4
10
 
5
11
  ### Changed
data/README.md CHANGED
@@ -82,6 +82,8 @@ ws.write(1, 2, Date.today, date) # format one cell
82
82
 
83
83
  Per-side borders override `border`. Unknown options and invalid values raise `ArgumentError`.
84
84
 
85
+ Dates and times written without a format get `yyyy-mm-dd` or `yyyy-mm-dd hh:mm:ss`; a table column's format or `column_format` wins over that. A format you pass replaces it, so give date cells one with a `num_format` (e.g. `Format.new(bold: true, num_format: "yyyy-mm-dd")`), or Excel shows the serial number.
86
+
85
87
  ### Columns and filters
86
88
 
87
89
  ```ruby
@@ -250,8 +252,8 @@ Values are mapped by type:
250
252
  |---|---|
251
253
  | `Integer`, `Float`, any `Numeric` | number |
252
254
  | `String` | string |
253
- | `Time` | number (Excel serial date, local time) |
254
- | `Date`, `DateTime` | number (Excel serial date, own offset) |
255
+ | `Time`, `DateTime` | date and time (`yyyy-mm-dd hh:mm:ss` unless formatted), in its own offset |
256
+ | `Date` | date (`yyyy-mm-dd` unless formatted) |
255
257
  | `FastXlsx::Formula.new("SUM(A1:A9)")` | formula |
256
258
  | `FastXlsx::URL.new("https://…")`, `URL.new(url, text: "Title")` | hyperlink (optionally showing other text) |
257
259
  | `FastXlsx::RichString.new(["Total: ", bold], "1,234")` | text with a format per segment |
@@ -273,17 +275,17 @@ Apple Silicon, Ruby 4.0.5. Each library uses its own idiomatic row-append API; x
273
275
 
274
276
  | Library | Time | vs fastest | Ruby objects allocated |
275
277
  |---|---:|---:|---:|
276
- | **fast_xlsx** (`memory: :constant`) | **69 ms** | 1.0x | 7 |
277
- | **fast_xlsx** (`memory: :low`) | **78 ms** | 1.1x | 7 |
278
- | **fast_xlsx** | **80 ms** | 1.2x | 10 |
279
- | [xlsxtream](https://github.com/felixbuenemann/xlsxtream) 3.1 | 171 ms | 2.5x | 561,728 |
280
- | [fast_excel](https://github.com/Paxa/fast_excel) 0.5 (constant_memory) | 194 ms | 2.8x | 20,079 |
281
- | [fast_excel](https://github.com/Paxa/fast_excel) 0.5 | 228 ms | 3.3x | 320,076 |
282
- | [write_xlsx](https://github.com/cxn03651/write_xlsx) 1.15 | 583 ms | 8.4x | 1,483,899 |
283
- | [caxlsx](https://github.com/caxlsx/caxlsx) 4.5 | 691 ms | 10.0x | 745,122 |
284
- | [rubyXL](https://github.com/weshatheleopard/rubyXL) 3.4 | 2650 ms | 38.3x | 8,700,448 |
285
-
286
- All outputs are 681–750 KB.
278
+ | **fast_xlsx** (`memory: :constant`) | **77 ms** | 1.0x | 7 |
279
+ | **fast_xlsx** (`memory: :low`) | **86 ms** | 1.1x | 7 |
280
+ | **fast_xlsx** | **89 ms** | 1.1x | 10 |
281
+ | [xlsxtream](https://github.com/felixbuenemann/xlsxtream) 3.1 | 183 ms | 2.4x | 561,728 |
282
+ | [fast_excel](https://github.com/Paxa/fast_excel) 0.5 (constant_memory) | 200 ms | 2.6x | 20,079 |
283
+ | [fast_excel](https://github.com/Paxa/fast_excel) 0.5 | 238 ms | 3.1x | 320,076 |
284
+ | [write_xlsx](https://github.com/cxn03651/write_xlsx) 1.15 | 608 ms | 7.8x | 1,483,899 |
285
+ | [caxlsx](https://github.com/caxlsx/caxlsx) 4.5 | 689 ms | 8.9x | 745,122 |
286
+ | [rubyXL](https://github.com/weshatheleopard/rubyXL) 3.4 | 2755 ms | 35.6x | 8,700,448 |
287
+
288
+ All outputs are 689–750 KB.
287
289
 
288
290
  ### Memory
289
291
 
data/bench/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- fast_xlsx (0.3.0)
4
+ fast_xlsx (0.4.0)
5
5
  rb_sys (~> 0.9.130)
6
6
 
7
7
  GEM
@@ -77,7 +77,7 @@ DEPENDENCIES
77
77
  CHECKSUMS
78
78
  caxlsx (4.5.0) sha256=e3d98d859f148df05d5462086b5079b523f29c1766b569535f1d68629ce743ff
79
79
  fast_excel (0.5.0) sha256=59c418bdcf586a6030798d4e3a9f575742badaceaf7bb90f38eee5feb5bdc478
80
- fast_xlsx (0.3.0)
80
+ fast_xlsx (0.4.0)
81
81
  ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df
82
82
  ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39
83
83
  ffi (1.17.4-arm-linux-gnu) sha256=d6dbddf7cb77bf955411af5f187a65b8cd378cb003c15c05697f5feee1cb1564
Binary file
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FastXlsx
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fast_xlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Zac