All Versions
Latest Version
Avg Release Cycle
30 days
Latest Release
303 days ago

Changelog History
Page 1

  • v0.13.0 Changes

    July 08, 2020

    ๐Ÿ›  This is a bugfix release with breaking changes that make count property on MergeCells and all properties on Workbook.View optional. Many thanks to @Ethan-Chew and @robgtsoftware for reporting these issues!

    Closed issues:

    • ๐Ÿ–จ Printing Strings in a Column (#116)
    • ๐Ÿ“œ File.parseWorksheet(at: path) dies (#94)

    ๐Ÿ”€ Merged pull requests:

  • v0.12.0 Changes

    June 26, 2020

    ๐Ÿ›  The is a bugfix release with a breaking change, it makes size and font properties optional on the RichText.Properties type to improve compatibility with certain spreadsheets. Thanks to @Ethan-Chew for reporting this in #116.

  • v0.11.1 Changes

    June 12, 2020

    ๐Ÿ›  This is a bugfix release that resolves an issue with parsing cells that contain time values. Thanks to @mb812 for reporting it!

    Closed issues:

    • ๐Ÿ“œ Error parsing cells with Time value (#114)
    • ๐Ÿ“œ file.parseWorksheetPathsAndNames() wanna workbook: <#Workbook#> (#113)
    • XLSXFile not initialising when passing document directory path (#108)

    ๐Ÿ”€ Merged pull requests:

  • v0.11.0 Changes

    May 30, 2020

    ๐Ÿš€ This is a feature release that enables compatibility with CryptoOffice for decrypting spreadsheets. Additionally, with 0.11.0 you can easily get worksheet names with a new parseWorksheetPathsAndNames function on XLSXFile and get rich text values from cells with a new richStringValue function on Cell.

    โšก๏ธ Due to technical issues, Swift 5.0 CI job for Linux has been removed, so compatibility with Swift 5.0 on Linux can no longer be guaranteed. While CoreXLSX may continue to work with Swift 5.0 on Linux, please update to Swift 5.1 or later to avoid unexpected issues.

    ๐Ÿš€ Thanks to @kobylyanets and @duodo2412 for their contributions to this release!

    ๐Ÿ†• New APIs:

    XLSXFile now provides a new initializer that takes an argument of Data type. This allows opening in-memory documents, the primary example being spreadsheets decrypted with CryptoOffice.

    ๐Ÿ“œ XLSXFile now has a new parseWorksheetPathsAndNames function that returns an array of worksheet names and their paths in a given workbook, while previously you had to use parseWorksheetPaths and match paths manually with results of the parseWorkbooks function.

    ๐Ÿ“œ Cell now has a richStringValue function that takes a result of the XLSXFile.parseSharedStrings function and produces an array of RichText values. This makes it easier to query rich text content from cells, while previously you had to match cell values against SharedStrings manually.

    ๐Ÿ’ฅ Breaking change:

    ๐Ÿ‘€ Due to the introduction of the new XLSXFile.init(data:) initializer, the filepath property on XLSXFile no longer makes sense. This property was not used internally in any way and in-memory files don't have any filepaths. If you need to refer to a filepath of an .xlsx file after you've parsed from your filesystem, you should retain it manually and process it separately as you see fit.

    Closed issues:

    • API for matching sheet names to sheet paths (#105)

    ๐Ÿ”€ Merged pull requests:

  • v0.10.0 Changes

    April 06, 2020

    ๐Ÿ›  This is a release with bugfixes and a few improvements to usability of the spreadsheet cell values API. Thanks to all contributors and users, you provide an invaluable amount of feedback and help!

    ๐Ÿ†• New API:

    The library now provides a simplified API to fetch string and date values from cells, which is much easier to use than the previous ๐Ÿ”– version (which is still available).

    Here's how you can get all strings (including shared strings) in column "C" for example:

    let sharedStrings = try file.parseSharedStrings()
    let columnCStrings = worksheet.cells(atColumns: [ColumnReference("C")!])
      .compactMap { $0.stringValue(sharedStrings) }

    ๐Ÿ“œ To parse a date value from a cell, use dateValue property on the Cell type:

    let columnCDates = worksheet.cells(atColumns: [ColumnReference("C")!])
      .compactMap { $0.dateValue }

    ๐Ÿ’ฅ Breaking change:

    The type property on Cell is no longer of String type. It was previously ๐Ÿ‘‰ used to check if cell's type is equal to "s", which denoted a shared string. ๐Ÿš€ You should use enum values for that since this release, which for shared strings now is (unsurprisingly) .sharedString.

    Closed issues:

    • ๐Ÿ— Xcode 11 installation and build (#90)
    • Reading Date values from cell (#89)
    • Can't open xml (#82)
    • Not able to read Numeric data from Sheet (#81)
    • Getting the value of a cell with number format? (#71)
    • Opening xlsx file Document Directory, Crashes (#52)

    ๐Ÿ”€ Merged pull requests:

    • officeDocument is misspelled in corePropreties Relationship (#95) via @mrkammoun
    • โž• Add cell type enum, date/sharedStrings helpers (#102) via @MaxDesiatov
    • ๐Ÿ‘‰ Make XLSXFile a class, not a struct (#100) via @MaxDesiatov
    • ๐Ÿ‘ Clarify lack of support for .xls files in README (#99) via @MaxDesiatov
    • Clarify Xcode 11 and Xcode 10 project details (#98) via @MaxDesiatov
    • โšก๏ธ Update dependencies to their latest versions (#96) via @MaxDesiatov
    • โšก๏ธ Update SwiftFormat settings, add pre-commit (#97) via @MaxDesiatov
    • ๐Ÿ›  Fix workbooks with no views, cleanup tests (#93) via @MaxDesiatov
    • ๐ŸŽ Test on Xcode 11.3 with macOS 10.15 (#92) via @MaxDesiatov
    • โšก๏ธ Update ZIPFoundation to 0.9.10 (#91) via @MaxDesiatov
  • v0.9.1 Changes

    November 08, 2019

    ๐Ÿš€ This release adds a new value to the Relationship.SchemaType enum, which fixes compatibility with some spreadsheet files. Thanks to @mxcl for the bug report!

    ๐Ÿ›  Fixed bugs:

    • Cannot initialize SchemaType from invalid String value #87

    ๐Ÿ”€ Merged pull requests:

    • โž• Add case customXml to Relationship.SchemaType #88 (MaxDesiatov)
  • v0.9.0 Changes

    October 19, 2019

    ๐Ÿš€ This release adds Linux support and improves compatibility with .xlsx files that contain shared strings. Thanks to @CloseServer, @funnel20 and @LiewLi for bug reports and contributions!

    Implemented enhancements:

    • โฌ†๏ธ Bump XMLCoder to 0.9.0, add CI jobs for Linux, Xcode 11 #86 (MaxDesiatov)

    ๐Ÿ›  Fixed bugs:

    • ๐Ÿ“œ Multi-line text in an Excel cell is parsed into single line in the SharedStrings property text #83

    Closed issues:

    • ๐Ÿ“œ I crashed while calling try file.parsesharedstrings () with an error #79

    ๐Ÿ”€ Merged pull requests:

    • โฌ†๏ธ Bump line length limit in .swiftlint.yml #85 (MaxDesiatov)
    • โœ… Make decoder.trimValueWhitespaces false, add test #84 (MaxDesiatov)
    • โฌ†๏ธ Bump XMLCoder dependency to 0.8.0 #80 (MaxDesiatov)
    • SharedString uniqueCount property can be nil #78 (LiewLi)
  • v0.8.0 Changes

    July 12, 2019

    ๐Ÿ”‹ Feature and bugfix release that makes the library compatible with more spreadsheet types. It also adds support for Comments structure, which can be parsed with the new parseComments API.

    ๐Ÿš€ Many thanks to @grin, @GoldenJoe and @LiewLi for reporting and fixing issues in this release.

    Closed issues:

    • ๐Ÿ“œ parseDocumentPaths has internal protection, but is needed by parseDocumentRelationships #74 (GoldenJoe)
    • ๐Ÿ“š Missing Documentation #73 (GoldenJoe)

    ๐Ÿ”€ Merged pull requests:

    • โฌ†๏ธ Bump XMLCoder dependency to 0.7.0 #77 (MaxDesiatov)
    • ๐Ÿ›  Fix non-macOS framework targets #76 (MaxDesiatov)
    • missing text property when format is applied at the character level #72 (LiewLi)
    • โž• Add comment support #70 (grin)
  • v0.7.0 Changes

    May 25, 2019

    ๐Ÿ›  Bugfix release that improves compatibility with different spreadsheet types.

    Thanks to @grin for reporting and fixing issues in ๐Ÿš€ this release.

    ๐Ÿ’ฅ Breaking changes:

    All properties on struct Format except fontId and numberFormatId are now optional.

    โž• Additions:

    ๐Ÿ†• New borderId and fillId properties on struct Format.

    ๐Ÿ›  Fixed bugs:

    • Can't get cell string #58
    • ๐Ÿ“„ Can't load basic spreadsheets created in Google Docs #64
    • fillId and borderId attributes missing from CoreXLSX.Format #65

    ๐Ÿ”€ Merged pull requests:

  • v0.6.1 Changes

    May 09, 2019

    ๐Ÿ›  Bugfix release that adds case externalLink to Relationship.SchemaType improving .xlsx compatibility.