-
Unreleased - View Diff
- Nothing yet
-
v5.1.1 - Apr 26, 2026 - View Diff
- #71 - Change gemspec to caxlsx >= 4.0. This was mistakenly restricted caxlsx to v4.0 and below.
-
v5.1.0 - Jan 7, 2025 - View Diff
-
v5.0.1 - July 23, 2024 - View Diff
-
5.0.0 - Oct 30, 2022 - View Diff
- #52 - Update to caxlsx v3.3.0+ which now contains the axlsx_styler code, so we drop the dependency on axlsx_styler
- #38 - Breaking Change - Add
escape_formulasoption for xlsx spreadsheets. This is a breaking change because we default toescape_formulas: truewhereas before there was no formula escaping at all. The reasoning for this breaking change is that creating spreadsheets where many of the fields contain direct user input are a large majority compared to use cases that involve formulas. - #39 - Add option
use_zero_based_row_index: true(Defaultfalse) which allows you to use zero-based row indexes instead of the default 1-based row indexes. Recomended to set this option for the whole project. The original reason it was designed to be 1-based is because spreadsheet row numbers literally start with 1. However this tends to be unituitive for the developer because columns use zero based indexes because they use letter-based notation instead. - #40 - Improve argument handling for freeze option and add support for all Axlsx supported options for panes using the
:freezehash. See test case for example (./test/unit/xlsx_freeze_test.rb) - #42 - Improve exceptions and messages regarding invalid ranges
- #45 - For
to_xlsx, dont add empty header row whenheader: true - #44 - Add support for hyperlinks in XLSX and ODS
- #49 - Extracted some ODS methods from
SpreadsheetArchitect::UtilstoSpreadsheetArchitect::Utils::ODS - #51 - Add Proc support to
:column_types
-
4.2.0 - May 27, 2021 - View Diff
- Add option
:skip_defaultswhich removes the defaults and default styles. Particularily useful for heavily customized spreadsheets where the default styles get in the way. - Fix bug where styles werent being un-applied when using the
falsevalue. - Add style aliases for
:valignand:wrap_text - Fix error with
headers: false, previously had to useheaders: []
- Add option
-
4.1.0 - Nov 20, 2020 - View Diff
- Raise ArgumentError when invalid option names are given
-
4.0.1 - Nov 20, 2020 - View Diff
- Fix bug with
headers: falsewhere a blank header row is still added - Fix Bug for older version of
caxlsxv2.0.2
- Fix bug with
-
4.0.0 - Mar 3, 2020 - View Diff
- Switch to the
caxlsxgem (Community Axlsx) from the legacy unmaintainedaxlsxgem. Axlsx has had a long history of being poorly maintained so this community gem improves the situation. - Require Ruby 2.3+
- Ensure all options using Hash are automatically converted to symbol only hashes
- Add XLSX option
:freezeto freeze custom sections of your spreadsheet - Add XLSX option
:freeze_headersto freeze the headers of your spreadsheet - Remove old Axlsx patch for column width
- Backport new code for
string_widthcalculations to Axlsx 3.0.1 and below.
- Switch to the
-
3.3.1 - Dec 2, 2019 - View Diff
- Issue #30 - Fix duplicate constant warning for XLSX_COLUMN_TYPES
-
3.3.0 - Nov 28, 2019 - View Diff
- Fix
:bordersoption, was broken in v3.2.1 - Fix bug when passing
falseto:headersoption - Raise error when unsupported column type is passed
- Remove claimed support for
:currencyand:percentfor ODS spreadsheets as they were not working. PR Wanted.
- Fix
-
3.2.1 - April 10, 2019 - View Diff
- Fix bug when using
column_styleoption withinclude_header: true& letter based column numbering
- Fix bug when using
-
3.2.0 - September 14, 2018 - View Diff
- Change implementation of
:column_stylesoption to utilizeaxlsx_stylerinstead of the built-in axlsxcol_stylemethod. The reason for the switch is thatcol_stylewould overwrite all previously set styles.axlsx_styleralready has the ability to add onto existing styles and is what is currently utilized byrange_styles. - Date / Time formatting is now set per cell instead of on the entire column.
- Default Date formatting for
xlsxchanged fromm/d/yyyytoyyyy-mm-dd - Default Time/DateTime formatting for
xlsxchanged fromyyyy/m/d h:mm AM/PMtoyyyy-mm-dd h:mm AM/PM - Fix bug where the ActionController::Renderer
:filenameoption was ignored when an AR::Relation passed directly to the renderer without first callingto_#{format}
- Change implementation of
-
3.1.0 - August 19, 2018 - View Diff
- Add new option
:conditional_row_stylestoto_xlsx. - Add ability to pass an alternative method name as a Symbol/String to the
:spreadsheet_columnsoption. - Replace all usage of the legacy method
instance_evalwith the proper methodsend. - #23 - Fix bug where custom
columns_widthsin xlsx spreadsheets might not get set correctly. - All exceptions now inherit from the appropriate ruby core exception classes
SpreadsheetArchitect::Exceptions::InvalidOptionErrorrenamed toSpreadsheetArchitect::Exceptions::OptionTypeError
- Add new option
-
3.0.0 - July 6, 2018 - View Diff
- #16 - Add ability to pass :instances option to SpreadsheetArchitect class methods
- #16 - Remove Plain Ruby syntax
Post.to_xlsx(instances: posts_array)in favor ofSpreadsheetArchitect.to_xlsx(instance: posts_array). However, it may still work at this time if configured correctly. - Fix project-wide and model-level defaults before only
header_style,row_style, &sheet_namewere being utilized. - When using on an ActiveRecord class and
spreadsheet_columnsis not defined, it now defaults to the classescolumn_namesonly. Previously it would usecolumn_namesand then remove the following columns['id', 'created_at', 'updated_at', 'deleted_at'] - XLSX column ranges now also accept letters. For example:
{columns: ('C'..'E')} :column_typesnow considers types defined inspreadsheet_columnsand class/project-wide defaults. Before it was incorrectly ignored.- Passing the
spreadsheet_columnsoptions now only accepts lambda/proc - More type checking and Option types are now being type checked. Option types were supposed to be properly type checked but due to a bug were being skipped.
- Utilize ActiveSupport
pluralize, if available, for default sheet names for class-based spreadsheets - Renamed
BadRangeErrortoInvalidRangeError - Renamed
IncorrectTypeErrortoInvalidTypeError - Remove all Rails generators
spreadsheet_architect:add_default_options. No need since its just as easy to copy from the README - Major overhaul of test suite, add a ton more tests, for DRYness use resursion for tests when appropriate
- Use appraisal to test various
axlsxversions
-
2.1.2 - July 6, 2018 - View Diff
- Fix bug where everything was underlined by default in Excel (LibreOffice was working correctly). For some reason,
falsein:uor:underlinewas incorrectly being treated astruebut only within Excel. Now anytimefalseis encountered for either:uor:underlineit is now converted tonil - Fix bug where empty xlsx spreadsheets were corrupt when trying to open with Excel (LibreOffice was working correctly). This only occured when containing no headers and empty
:dataoption which resulted in a package with no sheets.
- Fix bug where everything was underlined by default in Excel (LibreOffice was working correctly). For some reason,
-
2.1.1 - July 4, 2018 - View Diff
- #18 - Fix controller bug when using an non-ActiveRecord ORM only within Rails
-
2.1.0 - June 20, 2018 - View Diff
- #15 - Improved the method symbolize_keys. This method did not work properly for nested objects.
- PR #15 - Added the ability to pass
:text_wrapoption within the:alignmentstyle - Make axlsx styles higher precendence over Spreadsheet Architect style aliases
- Use
prependmonkey patches in Ruby 2+ to avoid annoying overwrite warnings when using olddefine_methodmonkey patches - Due to RODF bug convert all Date and Time cells to String in ODS spreadsheets
- Improve test suite
- Dont test against Ruby versions that Rails no longer supports. Gem code should remain compatible with Ruby 1.9.3.
-
2.0.2 - July 14 2017 - View Diff
- Fix bug with range styles rows option not counting headers
- Fix bug with range styles rows :all option
-
2.0.1 - February 16 2017 - View Diff
- Fix bug where
SpreadsheetArchitect.default_optionsandSPREADSHEET_OPTIONSwere being overwritten - Fix bug where col_styles ignored previous styles on header when using
include_headeroption - Errors now try to provide which value is the cause
- Fix bug where
-
2.0.0 - January 28 2017 - View Diff
- Add to xlsx:
merges,column_styles,range_styles,borders,column_widthsmulti-row headers, date/time default format_code - Add
column_typesoption for xlsx and ods - Add ability to make multi-sheet spreadsheets in XLSX & ODS
- Adds
axlsx_stylergem dependency - Add Examples
- Add Axlsx Style Reference
- Refractor into smaller files
- Add to xlsx:
-
1.4.8 - December 6 2016
- Lock
rodfgem to v0.3.7 for last v1 version of this gem
- Lock
-
1.4.7 - November 7 2016
- Fix method arguments for
to_rodf_spreadsheetmethod
- Fix method arguments for
-
1.4.6 - May 16 2016
- Fix hash syntax for support of ruby v2.1 and below
-
1.4.5 - May 4 2016
- Bug fixes
-
1.4.4 - May 3 2016
- Add Ability to add format_code to all numbers body rows
-
1.4.3 - May 3 2016
- Bug fixes
-
1.4.2 - May 3 2016
- Add to_axlsx_package, to_rodf_spreadsheet methods for the item to be further manipulated. Ex. axlsx_styler
-
1.4.1 - May 2 2016
- Add rails generator for project defaults initializer
-
1.4.0 - April 29 2016
- Add to_xlsx, to_ods, & to_csv to SpreadsheetArchitect model for direct calling by passing in cell data
-
1.3.0 - April 21 2016
- Add ability to create class/model and project option defaults
-
1.2.5 - March 25 2016
- Fix each_with_index bug
-
1.2.4 - March 24 2016
- Fix cell type logic for symbol methods
-
1.2.3 - March 20 2016
- Fix cell type logic
-
1.2.2 - March 19 2016
- Make cell type numeric if value is numeric
-
1.2.1 - March 13 2016
- Better error reporting
- Fix for Plain ruby models
-
1.2.0 - March 10 2016
- Fix Bug: first row data repeated for all records on custom values
-
1.1.0 - March 3 2016
- Breaking Change - Move spreadsheet_columns method from the class to the instance
- Fix Bug: remove default underline on cells
-
1.0.4 - March 1 2016
- Extract helper methods to seperate module
- Improve readme
-
1.0.3 - March 1 2016
- Fix/Improve renderers
- Fix header default background color
- Fix default columns
-
1.0.2 - February 26 2016
- Enhance Style options
-
1.0.1 - February 26 2016
- Fix bug in renderers
-
1.0.0 - February 26 2016
- Gem Initial Release