caxlsx 3.0.1 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +112 -30
- data/README.md +73 -180
- data/examples/colored_links.rb +38 -52
- data/examples/example.rb +16 -1
- data/lib/axlsx.rb +0 -2
- data/lib/axlsx/drawing/bar_chart.rb +3 -3
- data/lib/axlsx/drawing/bar_series.rb +3 -5
- data/lib/axlsx/drawing/d_lbls.rb +1 -1
- data/lib/axlsx/drawing/series_title.rb +3 -1
- data/lib/axlsx/drawing/title.rb +3 -2
- data/lib/axlsx/package.rb +3 -11
- data/lib/axlsx/stylesheet/font.rb +10 -2
- data/lib/axlsx/util/validators.rb +1 -1
- data/lib/axlsx/version.rb +1 -1
- data/lib/axlsx/workbook/workbook.rb +0 -9
- data/lib/axlsx/workbook/worksheet/cell.rb +23 -2
- data/lib/axlsx/workbook/worksheet/col.rb +8 -4
- data/lib/axlsx/workbook/worksheet/rich_text_run.rb +1 -1
- data/lib/axlsx/workbook/worksheet/row.rb +2 -1
- data/lib/axlsx/workbook/worksheet/worksheet.rb +11 -4
- data/test/drawing/tc_series_title.rb +21 -0
- data/test/drawing/tc_title.rb +16 -0
- data/test/stylesheet/tc_font.rb +14 -2
- data/test/stylesheet/tc_styles.rb +27 -1
- data/test/tc_axlsx.rb +6 -0
- data/test/workbook/worksheet/tc_cell.rb +30 -2
- data/test/workbook/worksheet/tc_col.rb +16 -1
- data/test/workbook/worksheet/tc_rich_text_run.rb +3 -2
- data/test/workbook/worksheet/tc_row.rb +17 -0
- data/test/workbook/worksheet/tc_worksheet.rb +11 -0
- metadata +95 -95
- data/lib/axlsx/util/parser.rb +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d1084b09a06fdcca750fa734735fe339c527327f
|
4
|
+
data.tar.gz: cb0849f0edbe032dc82e3d6766245e7a42ebf81f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 736a38bbbb7bebebc204e3e81778e84d7ee45f9794e21b0bfab39d42ed1afe1e1e2cc905345b32889fb8cf3ae3b11a3ac7656173f991016296064a5ca82e98a7
|
7
|
+
data.tar.gz: 4532801d92486550f8db5ab177acb8a72de3f0e209f2483db9e13df11a7e05ef3a63f97c9062099d478ca0469c86f1ebe7a7bc5cc8d5be8018a8a3abf49b8fe4
|
data/CHANGELOG.md
CHANGED
@@ -1,13 +1,86 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
---------
|
3
|
-
|
3
|
+
|
4
|
+
- **July.16.20**: 3.0.2
|
5
|
+
- [I #51](https://github.com/caxlsx/caxlsx/issues/51) - Images do not import on Windows. IO read set explicitly to binary mode.
|
6
|
+
- [PR #53](https://github.com/caxlsx/caxlsx/pull/53) - Limit column width to 255. Maximum column width limit in MS Excel is 255 characters, see https://support.microsoft.com/en-us/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3
|
7
|
+
- [PR #44](https://github.com/caxlsx/caxlsx/pull/44) - Improve cell autowidth calculations. Previously columns with undefined/auto width would tend to be just slightly too small for the content. This is because certain letters were being excluded from the width calculation because they were deemed not wide enough. We now treat all characters as equal width which helps ensure columns auto-widths are actually large enough for the content. This will gain us a very slight performance improvement because of we are no longer searching the string for specific characters.
|
8
|
+
|
9
|
+
- **October.4.19**: 3.0.1
|
10
|
+
- Support for ruby versions limited to officially supported version (Ruby v2.3+)
|
11
|
+
- Updates to dependency gems, especially nokogiri and ruby-zip
|
12
|
+
- Fix Relationship.instances cache
|
13
|
+
- Autoload fix for Rails
|
14
|
+
|
15
|
+
- **October.4.19**: 2.0.2
|
16
|
+
- Released as caxlsx, fork of axlsx
|
17
|
+
- Update ruby-zip dependency (fixes https://github.com/randym/axlsx/issues/536)
|
18
|
+
|
19
|
+
- **September.17.19**: 3.0.0
|
20
|
+
- First release of caxlsx, fork of axlsx
|
21
|
+
|
22
|
+
- **April.1.17**: 3.0.0-pre
|
23
|
+
- Support for ruby versions limited to officially supported version
|
24
|
+
- Updates to dependency gems, especially nokogiri and ruby-zip
|
25
|
+
- Patch options parsing for two cell anchor
|
26
|
+
- Remove support for depreciated worksheet members
|
27
|
+
- Added Cell#name so you you can quickly create a defined name for a single cell in your workbook.
|
28
|
+
- Added full book view and sheet state management. This means you can specify how the workbook renders as well as manage sheet visibility.
|
29
|
+
- Added smoothing management for line charts series
|
30
|
+
|
31
|
+
- **September.12.13**: 2.0.1
|
32
|
+
- Unpinned rubyzip version
|
33
|
+
|
34
|
+
- **September.12.13**: 2.0.0
|
35
|
+
- DROPPED support for ruby 1.8.7
|
36
|
+
- Altered readme to link to contributors
|
37
|
+
- Lots of improvements to make charts and relations more stable.
|
38
|
+
- Patched color param mutation.
|
39
|
+
- Data sourced for pivot tables can now come from other sheets.
|
40
|
+
- Altered image file extension comparisons to be case insensitive.
|
41
|
+
- Added control character sanitization to shared strings.
|
42
|
+
- Added page breaks. see examples/example.rb for an example.
|
43
|
+
- Bugfix: single to dual cell anchors for images now swap properly so you can set the end_at position during instantiation, in a block or directly on the image.
|
44
|
+
- Improved how we convert date/time to include the UTC offset when provided.
|
45
|
+
- Pinned rubyzip to 0.9.9 for those who are not ready to go up. Please note that release 2.0.1 and on will be using the 1.n.n series of rubyzip
|
46
|
+
- Bugfix: transposition of cells for Worksheet#cols now supports
|
47
|
+
incongruent column counts.counts
|
48
|
+
- Added space preservation for cell text. This will allow whitespace
|
49
|
+
in cell text both when using shared strings and when serializing
|
50
|
+
directly to the cell.
|
51
|
+
|
52
|
+
- **April.24.13**: 1.3.6
|
53
|
+
- Fixed LibreOffice/OpenOffice issue to properly apply colors to lines
|
54
|
+
in charts.
|
55
|
+
- Added support for specifying between/notBetween formula in an array.
|
56
|
+
*thanks* straydogstudio!
|
57
|
+
- Added standard line chart support. *thanks* scambra
|
58
|
+
- Fixed straydogstudio's link in the README. *thanks* nogara!
|
59
|
+
|
60
|
+
- **February.4.13**: 1.3.5
|
61
|
+
- converted vary_colors for chart data to instance variable with appropriate defulats for the various charts.
|
62
|
+
- Added trust_input method on Axlsx to instruct the serializer to skip HTML escaping. This will give you a tremendous performance boost,
|
63
|
+
Please be sure that you will never have <, >, etc in your content or the XML will be invalid.
|
64
|
+
- Rewrote cell serialization to improve performance
|
65
|
+
- Added iso_8601 type to support text based date and time management.
|
66
|
+
- Bug fix for relationship management in drawings when you add images
|
67
|
+
and charts to the same worksheet drawing.
|
68
|
+
- Added outline_level_rows and outline_level_columns to worksheet to simplify setting up outlining in the worksheet.
|
69
|
+
- Added support for pivot tables
|
70
|
+
- Added support for descrete border edge styles
|
71
|
+
- Improved validation of sheet names
|
72
|
+
- Added support for formula value caching so that iOS and OSX preview can show the proper values. See Cell.add_row and the formula_values option.
|
73
|
+
|
74
|
+
- **November.25.12**: 1.3.4
|
4
75
|
- Support for headers and footers for worksheets
|
5
76
|
- bug fix: Properly escape hyperlink urls
|
6
77
|
- Improvements in color_scale generation for conditional formatting
|
7
78
|
- Improvements in autowidth calculation.
|
8
|
-
|
79
|
+
|
80
|
+
- **November.8.12**: 1.3.3
|
9
81
|
- Patched cell run styles for u and validation for family
|
10
|
-
|
82
|
+
|
83
|
+
- **November.5.12**: 1.3.2
|
11
84
|
- MASSIVE REFACTORING
|
12
85
|
- Patch for apostrophes in worksheet names
|
13
86
|
- added sheet_by_name for workbook so you can now find your worksheets
|
@@ -15,6 +88,7 @@ CHANGELOG
|
|
15
88
|
- added insert_worksheet so you can now add a worksheet to an
|
16
89
|
arbitrary position in the worksheets list.
|
17
90
|
- reduced memory consumption for package parts post serialization
|
91
|
+
|
18
92
|
- **September.30.12**: 1.3.1
|
19
93
|
- Improved control character handling
|
20
94
|
- Added stored auto filter values and date grouping items
|
@@ -23,29 +97,35 @@ CHANGELOG
|
|
23
97
|
all the predefined table styles.
|
24
98
|
- Improved style management for fonts so they merge undefined values
|
25
99
|
from the initial master.
|
100
|
+
|
26
101
|
- **September.8.12**: 1.2.3
|
27
102
|
- enhance exponential float/bigdecimal values rendering as strings intead
|
28
103
|
of 'numbers' in excel.
|
29
104
|
- added support for :none option on chart axis labels
|
30
105
|
- added support for paper_size option on worksheet.page_setup
|
106
|
+
|
31
107
|
- **August.27.12**: 1.2.2
|
32
108
|
- minor patch for auto-filters
|
33
109
|
- minor documentation improvements.
|
110
|
+
|
34
111
|
- **August.12.12**: 1.2.1
|
35
112
|
- Add support for hyperlinks in worksheets
|
36
113
|
- Fix example that was using old style cell merging with concact.
|
37
114
|
- Fix bug that occurs when calculating the font_size for cells that use a user specified style which does not define sz
|
115
|
+
|
38
116
|
- **August.5.12**: 1.2.0
|
39
117
|
- rebuilt worksheet serialization to clean up the code base a bit.
|
40
118
|
- added data labels for charts
|
41
119
|
- added table header printing for each sheet via defined_name. This
|
42
120
|
means that when you print your worksheet, the header rows show for every page
|
43
|
-
|
121
|
+
|
122
|
+
- **July.??.12**: 1.1.9
|
44
123
|
- lots of code clean up for worksheet
|
45
124
|
- added in data labels for pie charts, line charts and bar charts.
|
46
125
|
- bugfix chard with data in a sheet that has a space in the name are
|
47
126
|
now auto updating formula based values
|
48
|
-
|
127
|
+
|
128
|
+
- **July.14.12**: 1.1.8
|
49
129
|
- added html entity encoding for sheet names. This allows you to use
|
50
130
|
characters like '<' and '&' in your sheet names.
|
51
131
|
- new - first round google docs interoperability
|
@@ -54,7 +134,8 @@ CHANGELOG
|
|
54
134
|
to PDF from Libra Office
|
55
135
|
- various readability improvements and work standardizing attribute
|
56
136
|
names to snake_case. Aliases are provided for backward compatiblity
|
57
|
-
|
137
|
+
|
138
|
+
- **June.11.12**: 1.1.7
|
58
139
|
- fix chart rendering issue when label offset is specified as a
|
59
140
|
percentage in serialization and ensure that formula are not stored
|
60
141
|
in value caches
|
@@ -62,7 +143,8 @@ in value caches
|
|
62
143
|
- Add title property to axis so you can lable the x/y/series axis for
|
63
144
|
charts.
|
64
145
|
- Add sheet views with panes
|
65
|
-
|
146
|
+
|
147
|
+
- **May.30.12**: 1.1.6
|
66
148
|
- data protection with passwords for sheets
|
67
149
|
- cell level input validators
|
68
150
|
- added support for two cell anchors for images
|
@@ -72,14 +154,15 @@ in value caches
|
|
72
154
|
- added ph (phonetics) and s (style) attributes for row.
|
73
155
|
- resolved all warnings generating from this gem.
|
74
156
|
- improved comment relationship management for multiple comments
|
75
|
-
|
157
|
+
|
158
|
+
- **May.13.12**: 1.1.5
|
76
159
|
- MOAR print options! You can now specify paper size, orientation,
|
77
160
|
fit to width, page margings and gridlines for printing.
|
78
161
|
- Support for adding comments to your worksheets
|
79
162
|
- bugfix for applying style to empty cells
|
80
163
|
- bugfix for parsing formula with multiple '='
|
81
164
|
|
82
|
-
- **May.3.12:**: 1.1.4
|
165
|
+
- **May.3.12:**: 1.1.4
|
83
166
|
- MOAR examples
|
84
167
|
- added outline level for rows and columns
|
85
168
|
- rebuild of numeric and axis data sources for charts
|
@@ -91,23 +174,23 @@ in value caches
|
|
91
174
|
- Added support for specifying the color of data series in charts.
|
92
175
|
- bugfix using add_cell on row mismanaged calls to update_column_info.
|
93
176
|
|
94
|
-
- ** April.25.12:**: 1.1.3
|
177
|
+
- ** April.25.12:**: 1.1.3
|
95
178
|
- Primarily because I am stupid.....Updates to readme to properly report version, add in missing docs and restructure example directory.
|
96
179
|
|
97
|
-
- ** April.25.12:**: 1.1.2
|
180
|
+
- ** April.25.12:**: 1.1.2
|
98
181
|
- Conditional Formatting completely implemented.
|
99
182
|
- refactoring / documentation for Style#add_style
|
100
183
|
- added in label rotation for chart axis labels
|
101
184
|
- bugfix to properly assign style and type info to cells when only partial information is provided in the types/style option
|
102
185
|
|
103
|
-
- ** April.18.12**: 1.1.1
|
186
|
+
- ** April.18.12**: 1.1.1
|
104
187
|
- bugfix for autowidth calculations across multiple rows
|
105
188
|
- bugfix for dimension calculations with nil cells.
|
106
189
|
- REMOVED RMAGICK dependency WOOT!
|
107
190
|
- Update readme to show screenshot of gem output.
|
108
191
|
- Cleanup benchmark and add benchmark rake task
|
109
192
|
|
110
|
-
- ** April.3.12**: 1.1.0
|
193
|
+
- ** April.3.12**: 1.1.0
|
111
194
|
- bugfix patch name_to_indecies to properly handle extended ranges.
|
112
195
|
- bugfix properly serialize chart title.
|
113
196
|
- lower rake minimum requirement for 1.8.7 apps that don't want to move on to 0.9 NOTE this will be reverted for 2.0.0 with workbook parsing!
|
@@ -122,7 +205,7 @@ in value caches
|
|
122
205
|
- Major (like 7x faster!) performance updates.
|
123
206
|
- Gem now supports for JRuby 1.6.7, as well as experimental support for Rubinius
|
124
207
|
|
125
|
-
- ** March.5.12**: 1.0.18
|
208
|
+
- ** March.5.12**: 1.0.18
|
126
209
|
https://github.com/randym/axlsx/compare/1.0.17...1.0.18
|
127
210
|
- bugfix custom borders are not properly applied when using styles.add_style
|
128
211
|
- interop worksheet names must be 31 characters or less or some versions of office complain about repairs
|
@@ -132,14 +215,14 @@ in value caches
|
|
132
215
|
- added << alias for add_row
|
133
216
|
- removed presetting of date1904 based on authoring platform. Now defaults to use 1900 epoch (date1904 = false)
|
134
217
|
|
135
|
-
- ** February.14.12**: 1.0.17
|
218
|
+
- ** February.14.12**: 1.0.17
|
136
219
|
https://github.com/randym/axlsx/compare/1.0.16...1.0.17
|
137
220
|
- Added in support for serializing to StringIO
|
138
221
|
- Added in support for using shared strings table. This makes most of the features in axlsx interoperable with iWorks Numbers
|
139
222
|
- Added in support for fixed column_widths
|
140
223
|
- Removed unneeded dependencies on active-support and i18n
|
141
224
|
|
142
|
-
- ** February.2.12**: 1.0.16
|
225
|
+
- ** February.2.12**: 1.0.16
|
143
226
|
https://github.com/randym/axlsx/compare/1.0.15...1.0.16
|
144
227
|
- Bug fix for schema file locations when validating in rails
|
145
228
|
- Added hyperlink to images
|
@@ -147,14 +230,14 @@ in value caches
|
|
147
230
|
- removed whitespace/indentation from xml outputs
|
148
231
|
- col_style now skips rows that do not contain cells at the column index
|
149
232
|
|
150
|
-
- **January.6.12**: 1.0.15
|
233
|
+
- **January.6.12**: 1.0.15
|
151
234
|
https://github.com/randym/axlsx/compare/1.0.14...1.0.15
|
152
235
|
- Bug fix add_style specified number formats must be explicity applied for libraOffice
|
153
236
|
- performance improvements from ochko when creating cells with options.
|
154
237
|
- Bug fix setting types=>[:n] when adding a row incorrectly determines the cell type to be string as the value is null during creation.
|
155
238
|
- Release in preparation for password protection merge
|
156
239
|
|
157
|
-
- **December.14.11**: 1.0.14
|
240
|
+
- **December.14.11**: 1.0.14
|
158
241
|
- Added support for merging cells
|
159
242
|
- Added support for auto filters
|
160
243
|
- Improved auto width calculations
|
@@ -163,14 +246,14 @@ in value caches
|
|
163
246
|
- Added access to app and core package objects so you can set the creator and other properties of the package
|
164
247
|
- The beginning of password protected xlsx files - roadmapped for January release.
|
165
248
|
|
166
|
-
- **December.8.11**: 1.0.13
|
249
|
+
- **December.8.11**: 1.0.13
|
167
250
|
- Fixing .gemspec errors that caused gem to miss the lib directory. Sorry about that.
|
168
251
|
|
169
|
-
- **December.7.11**: 1.0.12
|
252
|
+
- **December.7.11**: 1.0.12
|
170
253
|
DO NOT USE THIS VERSION = THE GEM IS BROKEN
|
171
254
|
- changed dependency from 'zip' gem to 'rubyzip' and added conditional code to force binary encoding to resolve issue with excel 2011
|
172
255
|
- Patched bug in app.xml that would ignore user specified properties.
|
173
|
-
- **December.5.11**: 1.0.11
|
256
|
+
- **December.5.11**: 1.0.11
|
174
257
|
- Added [] methods to worksheet and workbook to provide name based access to cells.
|
175
258
|
- Added support for functions as cell values
|
176
259
|
- Updated color creation so that two character shorthand values can be used like 'FF' for 'FFFFFFFF' or 'D8' for 'FFD8D8D8'
|
@@ -178,7 +261,7 @@ in value caches
|
|
178
261
|
- Clean up and support for 1.9.2 and travis integration
|
179
262
|
- Added support for string based cell referencing to chart start_at and end_at. That means you can now use :start_at=>"A1" when using worksheet.add_chart, or chart.start_at ="A1" in addition to passing a cell or the x, y coordinates.
|
180
263
|
|
181
|
-
- **October.30.11**: 1.0.10
|
264
|
+
- **October.30.11**: 1.0.10
|
182
265
|
- Updating gemspec to lower gem version requirements.
|
183
266
|
- Added row.style assignation for updating the cell style for an entire row
|
184
267
|
- Added col_style method to worksheet upate a the style for a column of cells
|
@@ -188,11 +271,11 @@ in value caches
|
|
188
271
|
- fixed out of range bug in time calculations for 32bit time.
|
189
272
|
- added i18n for active support
|
190
273
|
|
191
|
-
- **October.26.11**: 1.0.9
|
274
|
+
- **October.26.11**: 1.0.9
|
192
275
|
- Updated to support ruby 1.9.3
|
193
276
|
- Updated to eliminate all warnings originating in this gem
|
194
277
|
|
195
|
-
- **October.23.11**: 1.0.8
|
278
|
+
- **October.23.11**: 1.0.8
|
196
279
|
- Added support for images (jpg, gif, png) in worksheets.
|
197
280
|
|
198
281
|
- **October.23.11**: 1.0.7 released
|
@@ -206,10 +289,10 @@ in value caches
|
|
206
289
|
- rebuild of anchor positioning to remove some spagetti code. Chart now supports a start_at and end_at method that accept an arrar for col/row positioning. See example6 for an example. You can still pass :start_at and :end_at options to worksheet.add_chart.
|
207
290
|
- Refactored cat and val axis data to keep series serialization a bit more DRY
|
208
291
|
|
209
|
-
|
292
|
+
- **October.22.11**: 1.0.6
|
210
293
|
- Bumping version to include docs. Bug in gemspec pointing to incorrect directory.
|
211
294
|
|
212
|
-
|
295
|
+
- **October.22.11**: 1.05
|
213
296
|
- Added support for line charts
|
214
297
|
- Updated examples and readme
|
215
298
|
- Updated series title to be a real title ** NOTE ** If you are accessing titles directly you will need to update text assignation.
|
@@ -225,14 +308,13 @@ in value caches
|
|
225
308
|
- Added style property to charts
|
226
309
|
- Removed serialization write test as it most commonly fails when run from the gem's intalled directory
|
227
310
|
|
228
|
-
|
311
|
+
- **October.21.11**: 1.0.4
|
229
312
|
- altered package to accept a filename string for serialization instead of a File object.
|
230
313
|
- Updated specs to conform
|
231
314
|
- More examples for readme
|
232
315
|
|
233
316
|
|
234
|
-
|
317
|
+
- **October.21.11**: 1.0.3
|
235
318
|
- Updated documentation
|
236
319
|
|
237
|
-
|
238
|
-
|
320
|
+
- **October.20.11**: 0.1.0
|
data/README.md
CHANGED
@@ -1,90 +1,33 @@
|
|
1
|
-
|
2
|
-
===================================================
|
3
|
-
All Axlsx related gems have been forked or moved to a community organization: http://github.com/caxlsx
|
4
|
-
* Axlsx
|
5
|
-
* acts_as_caxlsx
|
6
|
-
* axlsx_rails
|
7
|
-
* activeadmin-caxlsx
|
8
|
-
|
9
|
-
Please consider helping develop and test these gems.
|
10
|
-
|
11
|
-
Axlsx: Office Open XML Spreadsheet Generation
|
12
|
-
====================================
|
1
|
+
# Caxlsx (Community Continued Version)
|
13
2
|
[![Build Status](https://travis-ci.com/caxlsx/caxlsx.svg?branch=master)](https://travis-ci.com/caxlsx/caxlsx)
|
14
3
|
|
15
|
-
|
16
|
-
appreciation for the gem, please don't hesitate to make a donation.
|
4
|
+
## Notice: Community Axlsx Organization
|
17
5
|
|
18
|
-
|
6
|
+
To better maintain the Axlsx ecosystem, all related gems have been forked or moved to the following community organization:
|
19
7
|
|
20
|
-
|
8
|
+
http://github.com/caxlsx
|
21
9
|
|
22
|
-
|
10
|
+
[Join the Caxlsx Slack channel](https://join.slack.com/t/caxlsx/shared_invite/enQtOTI5OTM0MzI1Njk5LTBlMDQzNDk2YzkwODMxMmVkODMyYzJiZGU5NTQ3YTg5NTBlN2IwZTlmNTRjNzhiY2E0MDY2OTEyYmFlODI5NjA)
|
23
11
|
|
24
|
-
|
25
|
-
|
26
|
-
**Copyright**: 2011 - 2017
|
27
|
-
|
28
|
-
**License**: MIT License
|
29
|
-
|
30
|
-
**Latest Version**: 3.0.1
|
31
|
-
|
32
|
-
**Ruby Version**: 2.3.8, 2.4.5, 2.5.3, 2.6.3
|
33
|
-
|
34
|
-
**JRuby Version**: 1.9 modes
|
35
|
-
|
36
|
-
**Rubinius Version**: rubinius 3 * lower versions may run, this gem always tests against head.
|
37
|
-
|
38
|
-
**Release Date**: September 12th 2013
|
39
|
-
|
40
|
-
If you are working in rails, or with active record see:
|
41
|
-
[acts_as_caxlsx](http://github.com/caxlsx/acts_as_caxlsx)
|
42
|
-
|
43
|
-
acts_as_caxlsx is a simple ActiveRecord mixin that lets you generate a workbook with:
|
44
|
-
|
45
|
-
```ruby
|
46
|
-
Posts.where(created_at > Time.now-30.days).to_xlsx
|
47
|
-
```
|
48
|
-
|
49
|
-
** and **
|
50
|
-
|
51
|
-
* http://github.com/caxlsx/axlsx_rails
|
52
|
-
Axlsx_Rails provides an Axlsx renderer so you can move all your spreadsheet code from your controller into view files. Partials are supported so you can organize any code into reusable chunks (e.g. cover sheets, common styling, etc.) You can use it with acts_as_xlsx, placing the to_xlsx call in a view and add ':package => xlsx_package' to the parameter list. Now you can keep your controllers thin!
|
53
|
-
|
54
|
-
There are guides for using axlsx and acts_as_xlsx here:
|
55
|
-
[http://axlsx.blog.randym.net](http://axlsx.blog.randym.net)
|
56
|
-
|
57
|
-
If you are working with ActiveAdmin see:
|
58
|
-
|
59
|
-
[activeadmin-caxlsx](http://github.com/caxlsx/activeadmin-caxlsx)
|
60
|
-
|
61
|
-
It provides a plugin and dsl for generating downloadable reports.
|
62
|
-
|
63
|
-
The examples directory contains a number of more specific examples as
|
64
|
-
well.
|
65
|
-
|
66
|
-
Synopsis
|
67
|
-
--------
|
12
|
+
## Synopsis
|
68
13
|
|
69
14
|
Axlsx is an Office Open XML Spreadsheet generator for the Ruby programming language.
|
70
15
|
With Axlsx you can create excel worksheets with charts, images (with links), automated and fixed column widths, customized styles, functions, tables, conditional formatting, print options, comments, merged cells, auto filters, file and stream serialization as well as full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents without having to understand the entire ECMA specification.
|
71
16
|
|
72
|
-
![Screen 1](https://github.com/caxlsx/
|
73
|
-
|
17
|
+
![Screen 1](https://github.com/caxlsx/caxlsx/raw/master/examples/sample.png)
|
74
18
|
|
75
19
|
|
76
|
-
Feature List
|
77
|
-
------------
|
20
|
+
## Feature List
|
78
21
|
|
79
|
-
1. Author xlsx documents:
|
22
|
+
1. Author xlsx documents: Caxlsx is made to let you easily and quickly generate professional xlsx based reports that can be validated before serialization.
|
80
23
|
|
81
|
-
2. Generate 3D Pie, Line, Scatter and Bar Charts: With
|
24
|
+
2. Generate 3D Pie, Line, Scatter and Bar Charts: With Caxlsx chart generation and management is as easy as a few lines of code. You can build charts based off data in your worksheet or generate charts without any data in your sheet at all. Customize gridlines, label rotation and series colors as well.
|
82
25
|
|
83
26
|
3. Custom Styles: With guaranteed document validity, you can style borders, alignment, fills, fonts, and number formats in a single line of code. Those styles can be applied to an entire row, or a single cell anywhere in your workbook.
|
84
27
|
|
85
|
-
4. Automatic type support:
|
28
|
+
4. Automatic type support: Caxlsx will automatically determine the type of data you are generating. In this release Float, Integer, String, Date, Time and Boolean types are automatically identified and serialized to your spreadsheet.
|
86
29
|
|
87
|
-
5. Automatic and fixed column widths:
|
30
|
+
5. Automatic and fixed column widths: Caxlsx will automatically determine the appropriate width for your columns based on the content in the worksheet, or use any value you specify for the really funky stuff.
|
88
31
|
|
89
32
|
6. Support for automatically formatted 1904 and 1900 epochs configurable in the workbook.
|
90
33
|
|
@@ -120,18 +63,14 @@ and Numbers
|
|
120
63
|
|
121
64
|
22. Page Breaks
|
122
65
|
|
123
|
-
Installing
|
124
|
-
----------
|
125
66
|
|
126
|
-
|
67
|
+
## Install
|
127
68
|
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
------
|
69
|
+
```ruby
|
70
|
+
gem 'caxlsx'
|
71
|
+
```
|
132
72
|
|
133
|
-
|
134
|
-
If you are using Yard, you will be able to see the examples in line below.
|
73
|
+
## Usage
|
135
74
|
|
136
75
|
Here's a teaser that kicks about 2% of what the gem can do.
|
137
76
|
|
@@ -148,87 +87,40 @@ Axlsx::Package.new do |p|
|
|
148
87
|
end
|
149
88
|
```
|
150
89
|
|
151
|
-
Please see the [examples](https://github.com/caxlsx/
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
-
|
179
|
-
|
180
|
-
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
- **
|
186
|
-
- Added Cell#name so you you can quickly create a defined name for a single cell in your workbook.
|
187
|
-
- Added full book view and sheet state management. This means you can specify how the workbook renders as well as manage sheet visibility.
|
188
|
-
- Added smoothing management for line charts series
|
189
|
-
- **September.12.13**:2.0.1
|
190
|
-
- Unpinned rubyzip version
|
191
|
-
- **September.12.13**:2.0.0
|
192
|
-
- DROPPED support for ruby 1.8.7
|
193
|
-
- Altered readme to link to contributors
|
194
|
-
- Lots of improvements to make charts and relations more stable.
|
195
|
-
- Patched color param mutation.
|
196
|
-
- Data sourced for pivot tables can now come from other sheets.
|
197
|
-
- Altered image file extension comparisons to be case insensitive.
|
198
|
-
- Added control character sanitization to shared strings.
|
199
|
-
- Added page breaks. see examples/example.rb for an example.
|
200
|
-
- Bugfix: single to dual cell anchors for images now swap properly so you can set the end_at position during instantiation, in a block or directly on the image.
|
201
|
-
- Improved how we convert date/time to include the UTC offset when provided.
|
202
|
-
- Pinned rubyzip to 0.9.9 for those who are not ready to go up. Please note that release 2.0.1 and on will be using the 1.n.n series of rubyzip
|
203
|
-
- Bugfix: transposition of cells for Worksheet#cols now supports
|
204
|
-
incongruent column counts.counts
|
205
|
-
- Added space preservation for cell text. This will allow whitespace
|
206
|
-
in cell text both when using shared strings and when serializing
|
207
|
-
directly to the cell.
|
208
|
-
- **April.24.13**:1.3.6
|
209
|
-
- Fixed LibreOffice/OpenOffice issue to properly apply colors to lines
|
210
|
-
in charts.
|
211
|
-
- Added support for specifying between/notBetween formula in an array.
|
212
|
-
*thanks* straydogstudio!
|
213
|
-
- Added standard line chart support. *thanks* scambra
|
214
|
-
- Fixed straydogstudio's link in the README. *thanks* nogara!
|
215
|
-
- **February.4.13**:1.3.5
|
216
|
-
- converted vary_colors for chart data to instance variable with appropriate defulats for the various charts.
|
217
|
-
- Added trust_input method on Axlsx to instruct the serializer to skip HTML escaping. This will give you a tremendous performance boost,
|
218
|
-
Please be sure that you will never have <, >, etc in your content or the XML will be invalid.
|
219
|
-
- Rewrote cell serialization to improve performance
|
220
|
-
- Added iso_8601 type to support text based date and time management.
|
221
|
-
- Bug fix for relationahip management in drawings when you add images
|
222
|
-
and charts to the same worksheet drawing.
|
223
|
-
- Added outline_level_rows and outline_level_columns to worksheet to simplify setting up outlining in the worksheet.
|
224
|
-
- Added support for pivot tables
|
225
|
-
- Added support for descrete border edge styles
|
226
|
-
- Improved validation of sheet names
|
227
|
-
- Added support for formula value caching so that iOS and OSX preview can show the proper values. See Cell.add_row and the formula_values option.
|
228
|
-
|
229
|
-
Please see the {file:CHANGELOG.md} document for past release information.
|
230
|
-
|
231
|
-
# Known interoperability issues.
|
90
|
+
Please see the [examples folder](https://github.com/caxlsx/caxlsx/tree/master/examples) for further information on what you can do with this gem Chances are that it has already been implemented. If it hasn't, let's take a look at adding it in.
|
91
|
+
|
92
|
+
## Documentation
|
93
|
+
|
94
|
+
Detailed documentation is available at:
|
95
|
+
|
96
|
+
[https://www.rubydoc.info/gems/caxlsx/](https://www.rubydoc.info/gems/caxlsx/)
|
97
|
+
|
98
|
+
Additional documentation is listed below:
|
99
|
+
|
100
|
+
- [Examples](https://github.com/caxlsx/caxlsx/tree/master/examples)
|
101
|
+
- [FAQ](https://github.com/caxlsx/caxlsx/wiki/FAQ) (work in progress)
|
102
|
+
- [Style Reference](https://github.com/caxlsx/caxlsx/blob/master/docs/style_reference.md)
|
103
|
+
- [Header and Footer Codes](https://github.com/caxlsx/caxlsx/blob/master/docs/header_and_footer_codes.md)
|
104
|
+
|
105
|
+
⚠ Please __do not create issues__ for questions regarding the usage of axlsx / caxlsx. Look through this README, the [examples](https://github.com/caxlsx/caxlsx/tree/master/examples/example.rb), and the [FAQ](https://github.com/caxlsx/caxlsx/wiki/FAQ), and also check [questions tagged `axlsx` on Stack Overflow](https://stackoverflow.com/questions/tagged/axlsx).
|
106
|
+
|
107
|
+
Feel free to add your question (including an answer!) to the FAQ if you think it is of general interest.
|
108
|
+
|
109
|
+
## Plugins, Integrations, and Extensions
|
110
|
+
|
111
|
+
Currently the following additional gems are available:
|
112
|
+
|
113
|
+
- [acts_as_caxlsx](https://github.com/caxlsx/acts_as_caxlsx)
|
114
|
+
* Provides simple ActiveRecord integration
|
115
|
+
- [caxlsx_rails](https://github.com/caxlsx/caxlsx_rails)
|
116
|
+
* Provides a `.axlsx` renderer to Rails so you can move all your spreadsheet code from your controller into view files.
|
117
|
+
- [activeadmin-caxlsx](https://github.com/caxlsx/activeadmin-caxlsx)
|
118
|
+
* An Active Admin plugin that includes DSL to create downloadable reports.
|
119
|
+
- [axlsx_styler](https://github.com/axlsx-styler-gem/axlsx_styler)
|
120
|
+
* Allows you to build clean and maintainable styles for your axlsx spreadsheets. Build your spreadsheeet with data and then apply styles later.
|
121
|
+
|
122
|
+
## Known Software Interoperability Issues
|
123
|
+
|
232
124
|
As axslx implements the Office Open XML (ECMA-376 spec) much of the
|
233
125
|
functionality is interoperable with other spreadsheet software. Below is
|
234
126
|
a listing of some known issues.
|
@@ -245,31 +137,32 @@ related to themes, which axlsx does not implement at this time.
|
|
245
137
|
- Images are known to not work with google docs
|
246
138
|
- border colors do not work
|
247
139
|
|
248
|
-
3. Numbers
|
249
|
-
- you must set 'use_shared_strings' to true. This is most
|
250
|
-
conveniently done just before rendering by calling Package.use_shared_strings = true prior to serialization.
|
251
|
-
|
252
|
-
```ruby
|
253
|
-
p = Axlsx::Package.new
|
254
|
-
p.workbook.add_worksheet(:name => "Basic Worksheet") do |sheet|
|
255
|
-
sheet.add_row ["First Column", "Second", "Third"]
|
256
|
-
sheet.add_row [1, 2, 3]
|
257
|
-
end
|
258
|
-
p.use_shared_strings = true
|
259
|
-
p.serialize('simple.xlsx')
|
260
|
-
```
|
140
|
+
3. Apple Numbers
|
261
141
|
- charts do not render
|
142
|
+
- you must set 'use_shared_strings' to true. This is most conveniently done just before rendering by calling Package.use_shared_strings = true prior to serialization.
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
p = Axlsx::Package.new
|
146
|
+
p.workbook.add_worksheet(:name => "Basic Worksheet") do |sheet|
|
147
|
+
sheet.add_row ["First Column", "Second", "Third"]
|
148
|
+
sheet.add_row [1, 2, 3]
|
149
|
+
end
|
150
|
+
p.use_shared_strings = true
|
151
|
+
p.serialize('simple.xlsx')
|
152
|
+
```
|
153
|
+
|
154
|
+
## Known Bugs
|
155
|
+
|
156
|
+
There’s a [list of known bugs](https://github.com/caxlsx/caxlsx/issues?q=label%3A%22known+bug%22). (If you want to contribute to caxlsx, this is a good place to start!)
|
262
157
|
|
158
|
+
## Contributing
|
263
159
|
|
264
|
-
|
265
|
-
----------
|
160
|
+
See [CONTRIBUTING.md](https://github.com/caxlsx/caxlsx/blob/master/CONTRIBUTING.md)
|
266
161
|
|
267
|
-
|
268
|
-
done without the help of these awesome folks.
|
162
|
+
## Credits
|
269
163
|
|
270
|
-
|
164
|
+
Originally created by Randy Morgan - @randym
|
271
165
|
|
272
|
-
|
273
|
-
----------
|
166
|
+
Forked in 2019, to enable the community to maintain the Axlsx ecosystem - http://github.com/caxlsx
|
274
167
|
|
275
|
-
|
168
|
+
Open source software is a community effort. None of this could have been done without the help of [our Contributors](https://github.com/caxlsx/caxlsx/graphs/contributors).
|